(0) Obligation:
JBC Problem based on JBC Program:
No human-readable program information known.
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Flatten
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 561 nodes with 2 SCCs.
(3) FIGtoITRSProof (SOUND transformation)
Transformed FIGraph to ITRS rules
(4) Complex Obligation (AND)
(5) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load3335(
java.lang.Object(
TreeList(
o2613,
java.lang.Object(
Tree(
o2937,
o2938,
o2939)))),
java.lang.Object(
TreeList(
o2613,
java.lang.Object(
Tree(
o2937,
o2938,
o2939))))) →
New4903(
java.lang.Object(
TreeList(
o2613,
java.lang.Object(
Tree(
o2937,
o2938,
o2939)))),
o2613,
java.lang.Object(
Tree(
o2937,
o2938,
o2939)))
JMP3745(
o2574,
o2609) →
Load3335(
o2574,
o2609)
Load3335(
o2574,
java.lang.Object(
TreeList(
o2609,
NULL))) →
Load3335(
o2574,
o2609)
New4903(
o2574,
o2609,
java.lang.Object(
Tree(
o2920,
o2921,
o2922))) →
JMP3745(
o2574,
java.lang.Object(
TreeList(
java.lang.Object(
TreeList(
o2609,
o2920)),
o2921)))
Load3335(
o2574,
java.lang.Object(
TreeList(
o2609,
java.lang.Object(
Tree(
o2920,
o2921,
o2922))))) →
JMP3745(
o2574,
java.lang.Object(
TreeList(
java.lang.Object(
TreeList(
o2609,
o2920)),
o2921)))
Load3335(
java.lang.Object(
TreeList(
o2613,
NULL)),
java.lang.Object(
TreeList(
o2613,
NULL))) →
JMP3745(
java.lang.Object(
TreeList(
o2613,
NULL)),
o2613)
The set Q consists of the following terms:
JMP3745(
x0,
x1)
Load3335(
x0,
java.lang.Object(
TreeList(
x1,
NULL)))
New4903(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)))
Load3335(
x0,
java.lang.Object(
TreeList(
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)))))
(6) ITRStoQTRSProof (EQUIVALENT transformation)
Represented integers and predefined function symbols by Terms
(7) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load3335(java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939)))), java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939))))) → New4903(java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939)))), o2613, java.lang.Object(Tree(o2937, o2938, o2939)))
JMP3745(o2574, o2609) → Load3335(o2574, o2609)
Load3335(o2574, java.lang.Object(TreeList(o2609, NULL))) → Load3335(o2574, o2609)
New4903(o2574, o2609, java.lang.Object(Tree(o2920, o2921, o2922))) → JMP3745(o2574, java.lang.Object(TreeList(java.lang.Object(TreeList(o2609, o2920)), o2921)))
Load3335(o2574, java.lang.Object(TreeList(o2609, java.lang.Object(Tree(o2920, o2921, o2922))))) → JMP3745(o2574, java.lang.Object(TreeList(java.lang.Object(TreeList(o2609, o2920)), o2921)))
Load3335(java.lang.Object(TreeList(o2613, NULL)), java.lang.Object(TreeList(o2613, NULL))) → JMP3745(java.lang.Object(TreeList(o2613, NULL)), o2613)
The set Q consists of the following terms:
JMP3745(x0, x1)
Load3335(x0, java.lang.Object(TreeList(x1, NULL)))
New4903(x0, x1, java.lang.Object(Tree(x2, x3, x4)))
Load3335(x0, java.lang.Object(TreeList(x1, java.lang.Object(Tree(x2, x3, x4)))))
(8) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP3745(x1, x2)) = 1 + x1 + x2
POL(Load3335(x1, x2)) = x1 + x2
POL(NULL) = 1
POL(New4903(x1, x2, x3)) = x1 + x2 + x3
POL(Tree(x1, x2, x3)) = 3 + x1 + x2 + x3
POL(TreeList(x1, x2)) = x1 + x2
POL(java.lang.Object(x1)) = 1 + x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
Load3335(java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939)))), java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939))))) → New4903(java.lang.Object(TreeList(o2613, java.lang.Object(Tree(o2937, o2938, o2939)))), o2613, java.lang.Object(Tree(o2937, o2938, o2939)))
JMP3745(o2574, o2609) → Load3335(o2574, o2609)
Load3335(o2574, java.lang.Object(TreeList(o2609, NULL))) → Load3335(o2574, o2609)
New4903(o2574, o2609, java.lang.Object(Tree(o2920, o2921, o2922))) → JMP3745(o2574, java.lang.Object(TreeList(java.lang.Object(TreeList(o2609, o2920)), o2921)))
Load3335(o2574, java.lang.Object(TreeList(o2609, java.lang.Object(Tree(o2920, o2921, o2922))))) → JMP3745(o2574, java.lang.Object(TreeList(java.lang.Object(TreeList(o2609, o2920)), o2921)))
Load3335(java.lang.Object(TreeList(o2613, NULL)), java.lang.Object(TreeList(o2613, NULL))) → JMP3745(java.lang.Object(TreeList(o2613, NULL)), o2613)
(9) Obligation:
Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:
JMP3745(x0, x1)
Load3335(x0, java.lang.Object(TreeList(x1, NULL)))
New4903(x0, x1, java.lang.Object(Tree(x2, x3, x4)))
Load3335(x0, java.lang.Object(TreeList(x1, java.lang.Object(Tree(x2, x3, x4)))))
(10) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(11) TRUE
(12) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627)))
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627))) →
Cond_Load833ARR1(
i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627)))
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627))) →
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8378Field0,
o8378Field1,
o8378Field2))) →
Load833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58 + -1)
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Cond_Load833ARR2(
i114 > 0 && i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58,
i114,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))))
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171))) →
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR3(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)))
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
NULL,
o9171))) →
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
NULL,
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR4(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC)))) →
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR5(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)))
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178))) →
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR6(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)))
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o9177,
o9178))) →
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR7(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC)))) →
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR8(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC)))) →
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR9(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC)))) →
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR10(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0,
x4,
x5,
x6)))
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0,
x4,
x5,
x6)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
0,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)))
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Inc16289(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
JMP16188(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
NULL,
x8)))
Load11943ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)))
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
JMP16239(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x7,
x8)))
Load11943ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load11943ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)))
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load11943ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(13) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP16239(x1, x2, x3, x4, x5, x6) → JMP16239(x1, x2, x3, x4, x6)
Cond_Load11943ARR10(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR10(x1, x2, x3, x4, x5, x7, x8)
Load11943ARR10(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR10(x1, x2, x3, x4, x6, x7)
Cond_Load11943ARR9(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR9(x1, x2, x3, x4, x5, x7, x8)
Load11943ARR9(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR9(x1, x2, x3, x4, x6, x7)
JMP16188(x1, x2, x3, x4, x5, x6) → JMP16188(x1, x2, x3, x4, x6)
Cond_Load11943ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR8(x1, x2, x3, x4, x5, x7, x8)
Load11943ARR8(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR8(x1, x2, x3, x4, x6, x7)
Inc16289(x1, x2, x3, x4, x5, x6) → Inc16289(x1, x2, x3, x4, x6)
Cond_Load11943ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR5(x1, x2, x3, x4, x5, x7, x8)
Load11943ARR5(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR5(x1, x2, x3, x4, x6, x7)
(14) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627)))
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627))) →
Cond_Load833ARR1(
i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627)))
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
0,
i82,
i84,
a627))) →
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8378Field0,
o8378Field1,
o8378Field2))) →
Load833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58 + -1)
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Cond_Load833ARR2(
i114 > 0 && i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58,
i114,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))))
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171))) →
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR3(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9303Field0,
o9303Field1,
o9303Field2)))
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
NULL,
o9171))) →
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
NULL,
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR4(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9169,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9171)),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC)))) →
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR5(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9218Field0,
o9218Field1,
o9218Field2)))
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178))) →
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR6(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9320Field0,
o9320Field1,
o9320Field2)))
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC)))) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o9177,
o9178))) →
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR7(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o9177,
o9178)),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
o8376,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC)))) →
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR8(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628)))
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i2744,
i2746,
a7628))) →
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
o8375,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC)))) →
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR9(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o9265Field0,
o9265Field1,
o9265Field2)))
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC)))) →
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
NULL,
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR10(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o8376,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0,
x4,
x5,
x6)))
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0,
x4,
x5,
x6)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
0,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)))
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Inc16289(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
JMP16188(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
NULL,
x8)))
Load11943ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)))
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
JMP16239(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))))
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x7,
x8)))
Load11943ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load11943ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)))
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6,
x7)),
x8,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load11943ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x5,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(15) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load833ARR1(x1, x2, x3, x4) → Load833ARR1(x1, x2, x3)
Cond_Load833ARR1(x1, x2, x3, x4, x5) → Cond_Load833ARR1(x1, x2, x3, x4)
Load11943(x1, x2, x3, x4, x5, x6) → Load11943(x1, x2, x3, x4)
Tree(x1, x2, x3) → Tree
Inc14138(x1, x2, x3, x4, x5, x6) → Inc14138(x1, x2, x3, x4)
Load11943ARR3(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR3(x1, x2, x3, x4)
Cond_Load11943ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR3(x1, x2, x3, x4, x5)
Inc16289(x1, x2, x3, x4, x5) → Inc16289(x1, x2, x3, x4)
JMP16188(x1, x2, x3, x4, x5) → JMP16188(x1, x2, x3, x4)
Load11943ARR4(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR4(x1, x2, x3, x4)
Cond_Load11943ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR4(x1, x2, x3, x4, x5)
Load11943ARR5(x1, x2, x3, x4, x5, x6) → Load11943ARR5(x1, x2, x3, x4)
Cond_Load11943ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load11943ARR5(x1, x2, x3, x4, x5)
JMP14222(x1, x2, x3, x4, x5, x6) → JMP14222(x1, x2, x3, x4)
Load11943ARR6(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR6(x1, x2, x3, x4, x7)
Cond_Load11943ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR6(x1, x2, x3, x4, x5, x8)
JMP16239(x1, x2, x3, x4, x5) → JMP16239(x1, x2, x3, x4)
Load11943ARR7(x1, x2, x3, x4, x5, x6, x7) → Load11943ARR7(x1, x2, x3, x4, x7)
Cond_Load11943ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load11943ARR7(x1, x2, x3, x4, x5, x8)
Load11943ARR8(x1, x2, x3, x4, x5, x6) → Load11943ARR8(x1, x2, x3, x4)
Cond_Load11943ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load11943ARR8(x1, x2, x3, x4, x5)
Load11943ARR9(x1, x2, x3, x4, x5, x6) → Load11943ARR9(x1, x2, x3, x4, x6)
Cond_Load11943ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load11943ARR9(x1, x2, x3, x4, x5, x7)
Load11943ARR10(x1, x2, x3, x4, x5, x6) → Load11943ARR10(x1, x2, x3, x4, x6)
Cond_Load11943ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load11943ARR10(x1, x2, x3, x4, x5, x7)
(16) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Cond_Load833ARR1(
i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0) →
Load833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58 + -1)
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Cond_Load833ARR2(
i114 > 0 && i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58,
i114)
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR3(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1)
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1)
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR4(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR4(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR5(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR6(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR7(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR7(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc16289(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR8(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR8(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
JMP16188(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR9(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR10(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR10(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP16239(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Inc16289(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP16188(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
JMP16239(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(17) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Inc14138, Inc16289, JMP16188 | > | Inc14138_4 |
Load11943ARR3, Load11943ARR4 | > | Load11943ARR3_4 |
Load11943ARR5, Load11943ARR8 | > | Load11943ARR5_4 |
Cond_Load11943ARR3, Cond_Load11943ARR4 | > | Cond_Load11943ARR3_5 |
Cond_Load11943ARR5, Cond_Load11943ARR8 | > | Cond_Load11943ARR5_5 |
JMP14222, JMP16239 | > | JMP14222_4 |
Load11943ARR6, Load11943ARR7 | > | Load11943ARR6_5 |
Load11943ARR9, Load11943ARR10 | > | Load11943ARR9_5 |
Cond_Load11943ARR9, Cond_Load11943ARR10 | > | Cond_Load11943ARR9_6 |
Cond_Load11943ARR6, Cond_Load11943ARR7 | > | Cond_Load11943ARR6_6 |
(18) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Cond_Load833ARR1(
i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0) →
Load833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58 + -1)
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Cond_Load833ARR2(
i114 > 0 && i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58,
i114)
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR3(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR5(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR6(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR9(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(19) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(20) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
The ITRS R consists of the following rules:
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Load833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Cond_Load833ARR1(
i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0) →
Load833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58 + -1)
Load833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Load833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Cond_Load833ARR2(
i114 > 0 && i52 > 0 && i52 < i3 && i58 > 0 && i52 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52 + 1,
i58,
i114)
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR3(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563 + -1)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Load11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Cond_Load11943ARR5(
i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR6(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Inc14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
Load11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Load11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
Cond_Load11943ARR9(
i2854 > 0 && i2554 > 0 && i2554 < i3 && i2563 > 0 && i2554 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554 + 1,
i58,
i2563)
The integer pair graph contains the following rules and edges:
(0):
LOAD833(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0]) →
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0])
(1):
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1]) →
COND_LOAD833ARR1(
i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1])
(2):
COND_LOAD833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2],
i58[2]) →
LOAD833(
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2] + 1,
i58[2] + -1)
(3):
LOAD11943(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3],
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3] + -1)
(4):
LOAD833(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4]) →
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4],
java.lang.Object(
java.lang.String(
i114[4],
i82[4],
i84[4],
a627[4])))
(5):
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5]))) →
COND_LOAD833ARR2(
i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0,
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5])))
(6):
COND_LOAD833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6],
i58[6],
java.lang.Object(
java.lang.String(
i114[6],
i82[6],
i84[6],
a627[6]))) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6] + 1,
i58[6],
i114[6])
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(0) -> (1), if ((i52[0] →* i52[1])∧(i58[0] →* i58[1])∧(java.lang.Object(ARRAY(i3[0], a499data[0])) →* java.lang.Object(ARRAY(i3[1], a499data[1]))))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a499data[1])) →* java.lang.Object(ARRAY(i3[2], a499data[2])))∧(i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0 →* TRUE)∧(i58[1] →* i58[2])∧(i52[1] →* i52[2]))
(2) -> (0), if ((java.lang.Object(ARRAY(i3[2], a499data[2])) →* java.lang.Object(ARRAY(i3[0], a499data[0])))∧(i58[2] + -1 →* i58[0])∧(i52[2] + 1 →* i52[0]))
(2) -> (4), if ((i58[2] + -1 →* i58[4])∧(java.lang.Object(ARRAY(i3[2], a499data[2])) →* java.lang.Object(ARRAY(i3[4], a499data[4])))∧(i52[2] + 1 →* i52[4]))
(3) -> (0), if ((i2554[3] →* i52[0])∧(java.lang.Object(ARRAY(i3[3], a7196data[3])) →* java.lang.Object(ARRAY(i3[0], a499data[0])))∧(i58[3] + -1 →* i58[0]))
(3) -> (4), if ((java.lang.Object(ARRAY(i3[3], a7196data[3])) →* java.lang.Object(ARRAY(i3[4], a499data[4])))∧(i2554[3] →* i52[4])∧(i58[3] + -1 →* i58[4]))
(4) -> (5), if ((i52[4] →* i52[5])∧(java.lang.Object(ARRAY(i3[4], a499data[4])) →* java.lang.Object(ARRAY(i3[5], a499data[5])))∧(i58[4] →* i58[5])∧(java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])) →* java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))))
(5) -> (6), if ((i52[5] →* i52[6])∧(java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])) →* java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6])))∧(java.lang.Object(ARRAY(i3[5], a499data[5])) →* java.lang.Object(ARRAY(i3[6], a499data[6])))∧(i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0 →* TRUE)∧(i58[5] →* i58[6]))
(6) -> (3), if ((i114[6] →* 0)∧(i52[6] + 1 →* i2554[3])∧(i58[6] →* i58[3])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[3], a7196data[3]))))
(6) -> (8), if ((i114[6] →* i2563[8])∧(i58[6] →* i58[8])∧(i52[6] + 1 →* i2554[8])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[8], a7196data[8]))))
(6) -> (11), if ((java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[11], a7196data[11])))∧(i58[6] →* i58[11])∧(i114[6] →* i2563[11])∧(i52[6] + 1 →* i2554[11]))
(6) -> (15), if ((i52[6] + 1 →* i2554[15])∧(i114[6] →* i2563[15])∧(i58[6] →* i58[15])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[15], a7196data[15]))))
(6) -> (18), if ((java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[18], a7196data[18])))∧(i58[6] →* i58[18])∧(i52[6] + 1 →* i2554[18])∧(i114[6] →* i2563[18]))
(7) -> (3), if ((i2624[7] →* i2554[3])∧(i58[7] →* i58[3])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[3], a7196data[3])))∧(i2563[7] + -1 →* 0))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[8], a7196data[8])))∧(i2563[7] + -1 →* i2563[8]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[11], a7196data[11])))∧(i2563[7] + -1 →* i2563[11]))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[15], a7196data[15]))))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[18], a7196data[18]))))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧(java.lang.Object(ARRAY(i3[8], a7196data[8])) →* java.lang.Object(ARRAY(i3[9], a7196data[9]))))
(9) -> (10), if ((i2563[9] →* i2563[10])∧(java.lang.Object(ARRAY(i3[9], a7196data[9])) →* java.lang.Object(ARRAY(i3[10], a7196data[10])))∧(i58[9] →* i58[10])∧(i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0 →* TRUE)∧(i2554[9] →* i2554[10]))
(10) -> (3), if ((i58[10] →* i58[3])∧(i2563[10] + -1 →* 0)∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[3], a7196data[3])))∧(i2554[10] + 1 →* i2554[3]))
(10) -> (8), if ((i58[10] →* i58[8])∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[8], a7196data[8])))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[11], a7196data[11]))))
(10) -> (15), if ((java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[15], a7196data[15])))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(10) -> (18), if ((java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[18], a7196data[18])))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
(11) -> (12), if ((i2563[11] →* i2563[12])∧(java.lang.Object(ARRAY(i3[11], a7196data[11])) →* java.lang.Object(ARRAY(i3[12], a7196data[12])))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(12) -> (13), if ((java.lang.Object(ARRAY(i3[12], a7196data[12])) →* java.lang.Object(ARRAY(i3[13], a7196data[13])))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧(java.lang.Object(ARRAY(i3[13], a7196data[13])) →* java.lang.Object(ARRAY(i3[7], a7196data[7])))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧(java.lang.Object(ARRAY(i3[14], a7196data[14])) →* java.lang.Object(ARRAY(i3[7], a7196data[7]))))
(15) -> (16), if ((java.lang.Object(ARRAY(i3[15], a7196data[15])) →* java.lang.Object(ARRAY(i3[16], a7196data[16])))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧(java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])) →* java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(i2563[15] →* i2563[16]))
(16) -> (17), if ((i58[16] →* i58[17])∧(java.lang.Object(ARRAY(i3[16], a7196data[16])) →* java.lang.Object(ARRAY(i3[17], a7196data[17])))∧(i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0 →* TRUE)∧(i2563[16] →* i2563[17])∧(i2554[16] →* i2554[17])∧(java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])) →* java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))))
(17) -> (7), if ((i58[17] →* i58[7])∧(java.lang.Object(ARRAY(i3[17], a7196data[17])) →* java.lang.Object(ARRAY(i3[7], a7196data[7])))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(18) -> (19), if ((java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])) →* java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧(java.lang.Object(ARRAY(i3[18], a7196data[18])) →* java.lang.Object(ARRAY(i3[19], a7196data[19]))))
(19) -> (20), if ((i2554[19] →* i2554[20])∧(i2563[19] →* i2563[20])∧(i58[19] →* i58[20])∧(i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])) →* java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))∧(java.lang.Object(ARRAY(i3[19], a7196data[19])) →* java.lang.Object(ARRAY(i3[20], a7196data[20]))))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧(java.lang.Object(ARRAY(i3[20], a7196data[20])) →* java.lang.Object(ARRAY(i3[14], a7196data[14]))))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(21) UsableRulesProof (EQUIVALENT transformation)
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.
(22) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD833(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0]) →
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0])
(1):
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1]) →
COND_LOAD833ARR1(
i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1])
(2):
COND_LOAD833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2],
i58[2]) →
LOAD833(
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2] + 1,
i58[2] + -1)
(3):
LOAD11943(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3],
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3] + -1)
(4):
LOAD833(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4]) →
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4],
java.lang.Object(
java.lang.String(
i114[4],
i82[4],
i84[4],
a627[4])))
(5):
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5]))) →
COND_LOAD833ARR2(
i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0,
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5])))
(6):
COND_LOAD833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6],
i58[6],
java.lang.Object(
java.lang.String(
i114[6],
i82[6],
i84[6],
a627[6]))) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6] + 1,
i58[6],
i114[6])
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(0) -> (1), if ((i52[0] →* i52[1])∧(i58[0] →* i58[1])∧(java.lang.Object(ARRAY(i3[0], a499data[0])) →* java.lang.Object(ARRAY(i3[1], a499data[1]))))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a499data[1])) →* java.lang.Object(ARRAY(i3[2], a499data[2])))∧(i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0 →* TRUE)∧(i58[1] →* i58[2])∧(i52[1] →* i52[2]))
(2) -> (0), if ((java.lang.Object(ARRAY(i3[2], a499data[2])) →* java.lang.Object(ARRAY(i3[0], a499data[0])))∧(i58[2] + -1 →* i58[0])∧(i52[2] + 1 →* i52[0]))
(2) -> (4), if ((i58[2] + -1 →* i58[4])∧(java.lang.Object(ARRAY(i3[2], a499data[2])) →* java.lang.Object(ARRAY(i3[4], a499data[4])))∧(i52[2] + 1 →* i52[4]))
(3) -> (0), if ((i2554[3] →* i52[0])∧(java.lang.Object(ARRAY(i3[3], a7196data[3])) →* java.lang.Object(ARRAY(i3[0], a499data[0])))∧(i58[3] + -1 →* i58[0]))
(3) -> (4), if ((java.lang.Object(ARRAY(i3[3], a7196data[3])) →* java.lang.Object(ARRAY(i3[4], a499data[4])))∧(i2554[3] →* i52[4])∧(i58[3] + -1 →* i58[4]))
(4) -> (5), if ((i52[4] →* i52[5])∧(java.lang.Object(ARRAY(i3[4], a499data[4])) →* java.lang.Object(ARRAY(i3[5], a499data[5])))∧(i58[4] →* i58[5])∧(java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])) →* java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))))
(5) -> (6), if ((i52[5] →* i52[6])∧(java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])) →* java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6])))∧(java.lang.Object(ARRAY(i3[5], a499data[5])) →* java.lang.Object(ARRAY(i3[6], a499data[6])))∧(i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0 →* TRUE)∧(i58[5] →* i58[6]))
(6) -> (3), if ((i114[6] →* 0)∧(i52[6] + 1 →* i2554[3])∧(i58[6] →* i58[3])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[3], a7196data[3]))))
(6) -> (8), if ((i114[6] →* i2563[8])∧(i58[6] →* i58[8])∧(i52[6] + 1 →* i2554[8])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[8], a7196data[8]))))
(6) -> (11), if ((java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[11], a7196data[11])))∧(i58[6] →* i58[11])∧(i114[6] →* i2563[11])∧(i52[6] + 1 →* i2554[11]))
(6) -> (15), if ((i52[6] + 1 →* i2554[15])∧(i114[6] →* i2563[15])∧(i58[6] →* i58[15])∧(java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[15], a7196data[15]))))
(6) -> (18), if ((java.lang.Object(ARRAY(i3[6], a499data[6])) →* java.lang.Object(ARRAY(i3[18], a7196data[18])))∧(i58[6] →* i58[18])∧(i52[6] + 1 →* i2554[18])∧(i114[6] →* i2563[18]))
(7) -> (3), if ((i2624[7] →* i2554[3])∧(i58[7] →* i58[3])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[3], a7196data[3])))∧(i2563[7] + -1 →* 0))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[8], a7196data[8])))∧(i2563[7] + -1 →* i2563[8]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[11], a7196data[11])))∧(i2563[7] + -1 →* i2563[11]))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[15], a7196data[15]))))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧(java.lang.Object(ARRAY(i3[7], a7196data[7])) →* java.lang.Object(ARRAY(i3[18], a7196data[18]))))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧(java.lang.Object(ARRAY(i3[8], a7196data[8])) →* java.lang.Object(ARRAY(i3[9], a7196data[9]))))
(9) -> (10), if ((i2563[9] →* i2563[10])∧(java.lang.Object(ARRAY(i3[9], a7196data[9])) →* java.lang.Object(ARRAY(i3[10], a7196data[10])))∧(i58[9] →* i58[10])∧(i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0 →* TRUE)∧(i2554[9] →* i2554[10]))
(10) -> (3), if ((i58[10] →* i58[3])∧(i2563[10] + -1 →* 0)∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[3], a7196data[3])))∧(i2554[10] + 1 →* i2554[3]))
(10) -> (8), if ((i58[10] →* i58[8])∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[8], a7196data[8])))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧(java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[11], a7196data[11]))))
(10) -> (15), if ((java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[15], a7196data[15])))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(10) -> (18), if ((java.lang.Object(ARRAY(i3[10], a7196data[10])) →* java.lang.Object(ARRAY(i3[18], a7196data[18])))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
(11) -> (12), if ((i2563[11] →* i2563[12])∧(java.lang.Object(ARRAY(i3[11], a7196data[11])) →* java.lang.Object(ARRAY(i3[12], a7196data[12])))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(12) -> (13), if ((java.lang.Object(ARRAY(i3[12], a7196data[12])) →* java.lang.Object(ARRAY(i3[13], a7196data[13])))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧(java.lang.Object(ARRAY(i3[13], a7196data[13])) →* java.lang.Object(ARRAY(i3[7], a7196data[7])))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧(java.lang.Object(ARRAY(i3[14], a7196data[14])) →* java.lang.Object(ARRAY(i3[7], a7196data[7]))))
(15) -> (16), if ((java.lang.Object(ARRAY(i3[15], a7196data[15])) →* java.lang.Object(ARRAY(i3[16], a7196data[16])))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧(java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])) →* java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(i2563[15] →* i2563[16]))
(16) -> (17), if ((i58[16] →* i58[17])∧(java.lang.Object(ARRAY(i3[16], a7196data[16])) →* java.lang.Object(ARRAY(i3[17], a7196data[17])))∧(i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0 →* TRUE)∧(i2563[16] →* i2563[17])∧(i2554[16] →* i2554[17])∧(java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])) →* java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))))
(17) -> (7), if ((i58[17] →* i58[7])∧(java.lang.Object(ARRAY(i3[17], a7196data[17])) →* java.lang.Object(ARRAY(i3[7], a7196data[7])))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(18) -> (19), if ((java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])) →* java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧(java.lang.Object(ARRAY(i3[18], a7196data[18])) →* java.lang.Object(ARRAY(i3[19], a7196data[19]))))
(19) -> (20), if ((i2554[19] →* i2554[20])∧(i2563[19] →* i2563[20])∧(i58[19] →* i58[20])∧(i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])) →* java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))∧(java.lang.Object(ARRAY(i3[19], a7196data[19])) →* java.lang.Object(ARRAY(i3[20], a7196data[20]))))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧(java.lang.Object(ARRAY(i3[20], a7196data[20])) →* java.lang.Object(ARRAY(i3[14], a7196data[14]))))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(23) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(24) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD833(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0]) →
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0])
(1):
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1]) →
COND_LOAD833ARR1(
i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1])
(2):
COND_LOAD833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2],
i58[2]) →
LOAD833(
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2] + 1,
i58[2] + -1)
(3):
LOAD11943(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3],
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3] + -1)
(4):
LOAD833(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4]) →
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4],
java.lang.Object(
java.lang.String(
i114[4],
i82[4],
i84[4],
a627[4])))
(5):
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5]))) →
COND_LOAD833ARR2(
i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0,
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5])))
(6):
COND_LOAD833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6],
i58[6],
java.lang.Object(
java.lang.String(
i114[6],
i82[6],
i84[6],
a627[6]))) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6] + 1,
i58[6],
i114[6])
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(0) -> (1), if ((i52[0] →* i52[1])∧(i58[0] →* i58[1])∧((i3[0] →* i3[1])∧(a499data[0] →* a499data[1])))
(1) -> (2), if (((i3[1] →* i3[2])∧(a499data[1] →* a499data[2]))∧(i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0 →* TRUE)∧(i58[1] →* i58[2])∧(i52[1] →* i52[2]))
(2) -> (0), if (((i3[2] →* i3[0])∧(a499data[2] →* a499data[0]))∧(i58[2] + -1 →* i58[0])∧(i52[2] + 1 →* i52[0]))
(2) -> (4), if ((i58[2] + -1 →* i58[4])∧((i3[2] →* i3[4])∧(a499data[2] →* a499data[4]))∧(i52[2] + 1 →* i52[4]))
(3) -> (0), if ((i2554[3] →* i52[0])∧((i3[3] →* i3[0])∧(a7196data[3] →* a499data[0]))∧(i58[3] + -1 →* i58[0]))
(3) -> (4), if (((i3[3] →* i3[4])∧(a7196data[3] →* a499data[4]))∧(i2554[3] →* i52[4])∧(i58[3] + -1 →* i58[4]))
(4) -> (5), if ((i52[4] →* i52[5])∧((i3[4] →* i3[5])∧(a499data[4] →* a499data[5]))∧(i58[4] →* i58[5])∧((i114[4] →* i114[5])∧(i82[4] →* i82[5])∧(i84[4] →* i84[5])∧(a627[4] →* a627[5])))
(5) -> (6), if ((i52[5] →* i52[6])∧((i114[5] →* i114[6])∧(i82[5] →* i82[6])∧(i84[5] →* i84[6])∧(a627[5] →* a627[6]))∧((i3[5] →* i3[6])∧(a499data[5] →* a499data[6]))∧(i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0 →* TRUE)∧(i58[5] →* i58[6]))
(6) -> (3), if ((i114[6] →* 0)∧(i52[6] + 1 →* i2554[3])∧(i58[6] →* i58[3])∧((i3[6] →* i3[3])∧(a499data[6] →* a7196data[3])))
(6) -> (8), if ((i114[6] →* i2563[8])∧(i58[6] →* i58[8])∧(i52[6] + 1 →* i2554[8])∧((i3[6] →* i3[8])∧(a499data[6] →* a7196data[8])))
(6) -> (11), if (((i3[6] →* i3[11])∧(a499data[6] →* a7196data[11]))∧(i58[6] →* i58[11])∧(i114[6] →* i2563[11])∧(i52[6] + 1 →* i2554[11]))
(6) -> (15), if ((i52[6] + 1 →* i2554[15])∧(i114[6] →* i2563[15])∧(i58[6] →* i58[15])∧((i3[6] →* i3[15])∧(a499data[6] →* a7196data[15])))
(6) -> (18), if (((i3[6] →* i3[18])∧(a499data[6] →* a7196data[18]))∧(i58[6] →* i58[18])∧(i52[6] + 1 →* i2554[18])∧(i114[6] →* i2563[18]))
(7) -> (3), if ((i2624[7] →* i2554[3])∧(i58[7] →* i58[3])∧((i3[7] →* i3[3])∧(a7196data[7] →* a7196data[3]))∧(i2563[7] + -1 →* 0))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧((i3[7] →* i3[8])∧(a7196data[7] →* a7196data[8]))∧(i2563[7] + -1 →* i2563[8]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧((i3[7] →* i3[11])∧(a7196data[7] →* a7196data[11]))∧(i2563[7] + -1 →* i2563[11]))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧((i3[7] →* i3[15])∧(a7196data[7] →* a7196data[15])))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧((i3[7] →* i3[18])∧(a7196data[7] →* a7196data[18])))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧((i3[8] →* i3[9])∧(a7196data[8] →* a7196data[9])))
(9) -> (10), if ((i2563[9] →* i2563[10])∧((i3[9] →* i3[10])∧(a7196data[9] →* a7196data[10]))∧(i58[9] →* i58[10])∧(i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0 →* TRUE)∧(i2554[9] →* i2554[10]))
(10) -> (3), if ((i58[10] →* i58[3])∧(i2563[10] + -1 →* 0)∧((i3[10] →* i3[3])∧(a7196data[10] →* a7196data[3]))∧(i2554[10] + 1 →* i2554[3]))
(10) -> (8), if ((i58[10] →* i58[8])∧((i3[10] →* i3[8])∧(a7196data[10] →* a7196data[8]))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧((i3[10] →* i3[11])∧(a7196data[10] →* a7196data[11])))
(10) -> (15), if (((i3[10] →* i3[15])∧(a7196data[10] →* a7196data[15]))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(10) -> (18), if (((i3[10] →* i3[18])∧(a7196data[10] →* a7196data[18]))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
(11) -> (12), if ((i2563[11] →* i2563[12])∧((i3[11] →* i3[12])∧(a7196data[11] →* a7196data[12]))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(12) -> (13), if (((i3[12] →* i3[13])∧(a7196data[12] →* a7196data[13]))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧((i3[13] →* i3[7])∧(a7196data[13] →* a7196data[7]))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧((i3[14] →* i3[7])∧(a7196data[14] →* a7196data[7])))
(15) -> (16), if (((i3[15] →* i3[16])∧(a7196data[15] →* a7196data[16]))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧((i2854[15] →* i2854[16])∧(i2744[15] →* i2744[16])∧(i2746[15] →* i2746[16])∧(a7628[15] →* a7628[16]))∧(i2563[15] →* i2563[16]))
(16) -> (17), if ((i58[16] →* i58[17])∧((i3[16] →* i3[17])∧(a7196data[16] →* a7196data[17]))∧(i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0 →* TRUE)∧(i2563[16] →* i2563[17])∧(i2554[16] →* i2554[17])∧((i2854[16] →* i2854[17])∧(i2744[16] →* i2744[17])∧(i2746[16] →* i2746[17])∧(a7628[16] →* a7628[17])))
(17) -> (7), if ((i58[17] →* i58[7])∧((i3[17] →* i3[7])∧(a7196data[17] →* a7196data[7]))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(18) -> (19), if (((i2854[18] →* i2854[19])∧(i2744[18] →* i2744[19])∧(i2746[18] →* i2746[19])∧(a7628[18] →* a7628[19]))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧((i3[18] →* i3[19])∧(a7196data[18] →* a7196data[19])))
(19) -> (20), if ((i2554[19] →* i2554[20])∧(i2563[19] →* i2563[20])∧(i58[19] →* i58[20])∧(i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0 →* TRUE)∧((i2854[19] →* i2854[20])∧(i2744[19] →* i2744[20])∧(i2746[19] →* i2746[20])∧(a7628[19] →* a7628[20]))∧((i3[19] →* i3[20])∧(a7196data[19] →* a7196data[20])))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧((i3[20] →* i3[14])∧(a7196data[20] →* a7196data[14])))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(25) IDPNonInfProof (SOUND transformation)
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
LOAD833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) the following chains were created:
- We consider the chain LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0]) → LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0]), LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]) → COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]) which results in the following constraint:
(1) (i52[0]=i52[1]∧i58[0]=i58[1]∧i3[0]=i3[1]∧a499data[0]=a499data[1] ⇒ LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])≥NonInfC∧LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])≥LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])∧(UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])≥NonInfC∧LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])≥LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])∧(UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥)∧[2 + (-1)bso_39] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥)∧[2 + (-1)bso_39] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥)∧[2 + (-1)bso_39] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_39] ≥ 0)
For Pair
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
COND_LOAD833ARR1(
&&(
&&(
&&(
>(
i52,
0),
<(
i52,
i3)),
>(
i58,
0)),
>(
+(
i52,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) the following chains were created:
- We consider the chain LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]) → COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]), COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a499data[2])), i52[2], i58[2]) → LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1)) which results in the following constraint:
(7) (i3[1]=i3[2]∧a499data[1]=a499data[2]∧&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0))=TRUE∧i58[1]=i58[2]∧i52[1]=i52[2] ⇒ LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])≥NonInfC∧LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])≥COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])∧(UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i52[1], 1), 0)=TRUE∧>(i58[1], 0)=TRUE∧>(i52[1], 0)=TRUE∧<(i52[1], i3[1])=TRUE ⇒ LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])≥NonInfC∧LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])≥COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])∧(UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i52[1] ≥ 0∧i58[1] + [-1] ≥ 0∧i52[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧[(-1)Bound*bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i52[1] ≥ 0∧i58[1] + [-1] ≥ 0∧i52[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧[(-1)Bound*bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i52[1] ≥ 0∧i58[1] + [-1] ≥ 0∧i52[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧[(-1)Bound*bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i52[1] ≥ 0∧i58[1] + [-1] ≥ 0∧i52[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧0 = 0∧[(-1)Bound*bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i52[1] ≥ 0∧i58[1] + [-1] ≥ 0∧i52[1] ≥ 0∧i3[1] + [-2] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧0 = 0∧[(-1)Bound*bni_40 + (-1)bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i52[1] ≥ 0∧i58[1] ≥ 0∧i52[1] ≥ 0∧i3[1] + [-2] + [-1]i52[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧0 = 0∧[(-1)Bound*bni_40 + bni_40] + [(2)bni_40]i58[1] + [(-1)bni_40]i52[1] + [bni_40]i3[1] ≥ 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i52[1] ≥ 0∧i58[1] ≥ 0∧i52[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧0 = 0∧[(-1)Bound*bni_40 + (3)bni_40] + [(2)bni_40]i58[1] + [bni_40]i3[1] ≥ 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
COND_LOAD833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
LOAD833(
java.lang.Object(
ARRAY(
i3,
a499data)),
+(
i52,
1),
+(
i58,
-1)) the following chains were created:
- We consider the chain COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a499data[2])), i52[2], i58[2]) → LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1)) which results in the following constraint:
(16) (COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a499data[2])), i52[2], i58[2])≥NonInfC∧COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a499data[2])), i52[2], i58[2])≥LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))∧(UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
+(
i58,
-1)) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], i58[3], 0) → LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1)) which results in the following constraint:
(21) (LOAD11943(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], i58[3], 0)≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], i58[3], 0)≥LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))∧(UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥))
We simplified constraint (21) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(22) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (22) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(23) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (23) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(24) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (24) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(25) ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
For Pair
LOAD833(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58) →
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) the following chains were created:
- We consider the chain LOAD833(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4]) → LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4]))) which results in the following constraint:
(26) (LOAD833(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4])≥NonInfC∧LOAD833(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4])≥LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))∧(UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥))
We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(27) ((UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(28) ((UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(29) ((UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (29) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(30) ((UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
For Pair
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
COND_LOAD833ARR2(
&&(
&&(
&&(
&&(
>(
i114,
0),
>(
i52,
0)),
<(
i52,
i3)),
>(
i58,
0)),
>(
+(
i52,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) the following chains were created:
- We consider the chain LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))) → COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))), COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a499data[6])), i52[6], i58[6], java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6]))) → LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6]) which results in the following constraint:
(31) (i52[5]=i52[6]∧i114[5]=i114[6]∧i82[5]=i82[6]∧i84[5]=i84[6]∧a627[5]=a627[6]∧i3[5]=i3[6]∧a499data[5]=a499data[6]∧&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0))=TRUE∧i58[5]=i58[6] ⇒ LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))≥NonInfC∧LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))≥COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))∧(UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥))
We simplified constraint (31) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(32) (>(+(i52[5], 1), 0)=TRUE∧>(i58[5], 0)=TRUE∧<(i52[5], i3[5])=TRUE∧>(i114[5], 0)=TRUE∧>(i52[5], 0)=TRUE ⇒ LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))≥NonInfC∧LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))≥COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))∧(UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥))
We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(33) (i52[5] ≥ 0∧i58[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧[bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(34) (i52[5] ≥ 0∧i58[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧[bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(35) (i52[5] ≥ 0∧i58[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧[bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(36) (i52[5] ≥ 0∧i58[5] + [-1] ≥ 0∧i3[5] + [-1] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(37) ([1] + i52[5] ≥ 0∧i58[5] + [-1] ≥ 0∧i3[5] + [-2] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i52[5] ≥ 0∧i58[5] ≥ 0∧i3[5] + [-2] + [-1]i52[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [(-1)bni_48]i52[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i52[5] ≥ 0∧i58[5] ≥ 0∧i3[5] ≥ 0∧i114[5] + [-1] ≥ 0∧i52[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i52[5] ≥ 0∧i58[5] ≥ 0∧i3[5] ≥ 0∧i114[5] ≥ 0∧i52[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a499data)),
i52,
i58,
java.lang.Object(
java.lang.String(
i114,
i82,
i84,
a627))) →
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a499data)),
+(
i52,
1),
i58,
i114) the following chains were created:
- We consider the chain COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a499data[6])), i52[6], i58[6], java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6]))) → LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6]) which results in the following constraint:
(41) (COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a499data[6])), i52[6], i58[6], java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6])))≥NonInfC∧COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a499data[6])), i52[6], i58[6], java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6])))≥LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])∧(UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥))
We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(42) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥)∧[2 + (-1)bso_51] ≥ 0)
We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(43) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥)∧[2 + (-1)bso_51] ≥ 0)
We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(44) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥)∧[2 + (-1)bso_51] ≥ 0)
We simplified constraint (44) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(45) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_51] ≥ 0)
For Pair
INC14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
+(
i2563,
-1)) the following chains were created:
- We consider the chain INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1)) which results in the following constraint:
(46) (INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7])≥NonInfC∧INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7])≥LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))∧(UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥))
We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(47) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(48) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(49) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(50) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]) → LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]), LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) which results in the following constraint:
(51) (i2554[8]=i2554[9]∧i2563[8]=i2563[9]∧i58[8]=i58[9]∧i3[8]=i3[9]∧a7196data[8]=a7196data[9] ⇒ LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])∧(UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥))
We simplified constraint (51) using rule (IV) which results in the following new constraint:
(52) (LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])∧(UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥))
We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(53) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(54) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(55) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(56) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
For Pair
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
COND_LOAD11943ARR3(
&&(
&&(
&&(
>(
i2554,
0),
<(
i2554,
i3)),
>(
i2563,
0)),
>(
+(
i2554,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) the following chains were created:
- We consider the chain LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]), COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1)) which results in the following constraint:
(57) (i2563[9]=i2563[10]∧i3[9]=i3[10]∧a7196data[9]=a7196data[10]∧i58[9]=i58[10]∧&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0))=TRUE∧i2554[9]=i2554[10] ⇒ LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥NonInfC∧LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])∧(UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥))
We simplified constraint (57) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(58) (>(+(i2554[9], 1), 0)=TRUE∧>(i2563[9], 0)=TRUE∧>(i2554[9], 0)=TRUE∧<(i2554[9], i3[9])=TRUE ⇒ LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥NonInfC∧LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])∧(UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥))
We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(59) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_56] + [(2)bni_56]i58[9] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(60) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_56] + [(2)bni_56]i58[9] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (60) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(61) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_56] + [(2)bni_56]i58[9] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (61) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(62) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(2)bni_56] = 0∧0 = 0∧[(-1)Bound*bni_56] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (62) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(63) ([1] + i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] ≥ 0∧i3[9] + [-2] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(2)bni_56] = 0∧0 = 0∧[(-1)Bound*bni_56 + (-1)bni_56] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] + [-2] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(2)bni_56] = 0∧0 = 0∧[(-1)Bound*bni_56 + (-1)bni_56] + [(-1)bni_56]i2554[9] + [bni_56]i3[9] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(2)bni_56] = 0∧0 = 0∧[(-1)Bound*bni_56 + bni_56] + [bni_56]i3[9] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
For Pair
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
+(
i2554,
1),
i58,
+(
i2563,
-1)) the following chains were created:
- We consider the chain COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1)) which results in the following constraint:
(66) (COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10])≥NonInfC∧COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10])≥LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))∧(UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥))
We simplified constraint (66) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(67) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_59] ≥ 0)
We simplified constraint (67) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(68) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_59] ≥ 0)
We simplified constraint (68) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(69) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_59] ≥ 0)
We simplified constraint (69) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(70) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_59] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]) → LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]), LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) which results in the following constraint:
(71) (i2563[11]=i2563[12]∧i3[11]=i3[12]∧a7196data[11]=a7196data[12]∧i2554[11]=i2554[12]∧i58[11]=i58[12] ⇒ LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])∧(UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥))
We simplified constraint (71) using rule (IV) which results in the following new constraint:
(72) (LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])∧(UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[(-1)bso_61] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[(-1)bso_61] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[(-1)bso_61] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_61] ≥ 0)
For Pair
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
COND_LOAD11943ARR5(
&&(
&&(
&&(
>(
i2554,
0),
<(
i2554,
i3)),
>(
i2563,
0)),
>(
+(
i2554,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) the following chains were created:
- We consider the chain LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]), COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13]) which results in the following constraint:
(77) (i3[12]=i3[13]∧a7196data[12]=a7196data[13]∧i2563[12]=i2563[13]∧i58[12]=i58[13]∧i2554[12]=i2554[13]∧&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0))=TRUE ⇒ LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥NonInfC∧LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])∧(UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i2554[12], 1), 0)=TRUE∧>(i2563[12], 0)=TRUE∧>(i2554[12], 0)=TRUE∧<(i2554[12], i3[12])=TRUE ⇒ LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥NonInfC∧LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])∧(UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)Bound*bni_62] + [(2)bni_62]i58[12] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)Bound*bni_62] + [(2)bni_62]i58[12] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)Bound*bni_62] + [(2)bni_62]i58[12] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(2)bni_62] = 0∧0 = 0∧[(-1)Bound*bni_62] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] ≥ 0∧i3[12] + [-2] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(2)bni_62] = 0∧0 = 0∧[(-1)Bound*bni_62 + (-1)bni_62] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] + [-2] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(2)bni_62] = 0∧0 = 0∧[(-1)Bound*bni_62 + (-1)bni_62] + [(-1)bni_62]i2554[12] + [bni_62]i3[12] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(2)bni_62] = 0∧0 = 0∧[(-1)Bound*bni_62 + bni_62] + [bni_62]i3[12] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
For Pair
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
INC14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
+(
i2554,
1),
i58,
i2563) the following chains were created:
- We consider the chain COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13]) which results in the following constraint:
(86) (COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13])≥NonInfC∧COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13])≥INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥))
We simplified constraint (86) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(87) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[1 + (-1)bso_65] ≥ 0)
We simplified constraint (87) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(88) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[1 + (-1)bso_65] ≥ 0)
We simplified constraint (88) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(89) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[1 + (-1)bso_65] ≥ 0)
We simplified constraint (89) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(90) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_65] ≥ 0)
For Pair
JMP14222'(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) →
INC14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2624,
i58,
i2563) the following chains were created:
- We consider the chain JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]) → INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]), INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1)) which results in the following constraint:
(91) (i2563[14]=i2563[7]∧i2624[14]=i2624[7]∧i58[14]=i58[7]∧i3[14]=i3[7]∧a7196data[14]=a7196data[7] ⇒ JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥NonInfC∧JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥))
We simplified constraint (91) using rule (IV) which results in the following new constraint:
(92) (JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥NonInfC∧JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥))
We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(93) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_67] ≥ 0)
We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(94) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_67] ≥ 0)
We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(95) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_67] ≥ 0)
We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(96) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_67] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15]) → LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15]))) which results in the following constraint:
(97) (LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15])≥LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))∧(UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥))
We simplified constraint (97) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(98) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (98) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(99) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (99) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(100) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (100) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(101) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)
For Pair
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
COND_LOAD11943ARR6(
&&(
&&(
&&(
&&(
>(
i2854,
0),
>(
i2554,
0)),
<(
i2554,
i3)),
>(
i2563,
0)),
>(
+(
i2554,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) the following chains were created:
- We consider the chain LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))), COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17]) which results in the following constraint:
(102) (i58[16]=i58[17]∧i3[16]=i3[17]∧a7196data[16]=a7196data[17]∧&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0))=TRUE∧i2563[16]=i2563[17]∧i2554[16]=i2554[17]∧i2854[16]=i2854[17]∧i2744[16]=i2744[17]∧i2746[16]=i2746[17]∧a7628[16]=a7628[17] ⇒ LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥NonInfC∧LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥))
We simplified constraint (102) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(103) (>(+(i2554[16], 1), 0)=TRUE∧>(i2563[16], 0)=TRUE∧<(i2554[16], i3[16])=TRUE∧>(i2854[16], 0)=TRUE∧>(i2554[16], 0)=TRUE ⇒ LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥NonInfC∧LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥))
We simplified constraint (103) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(104) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_70] + [(2)bni_70]i58[16] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (104) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(105) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_70] + [(2)bni_70]i58[16] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (105) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(106) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_70] + [(2)bni_70]i58[16] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (106) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(107) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (107) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(108) ([1] + i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-2] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70 + (-1)bni_70] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (108) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(109) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] + [-2] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70 + (-1)bni_70] + [(-1)bni_70]i2554[16] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (109) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(110) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70 + bni_70] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (110) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(111) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70 + bni_70] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
For Pair
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
INC14138(
java.lang.Object(
ARRAY(
i3,
a7196data)),
+(
i2554,
1),
i58,
i2563) the following chains were created:
- We consider the chain COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17]) which results in the following constraint:
(112) (COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17])))≥NonInfC∧COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17])))≥INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥))
We simplified constraint (112) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(113) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (113) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(114) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (114) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(115) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (115) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(116) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18]) → LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18]))) which results in the following constraint:
(117) (LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18])≥LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))∧(UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥))
We simplified constraint (117) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(118) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_75] ≥ 0)
We simplified constraint (118) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(119) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_75] ≥ 0)
We simplified constraint (119) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(120) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_75] ≥ 0)
We simplified constraint (120) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(121) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_75] ≥ 0)
For Pair
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
COND_LOAD11943ARR9(
&&(
&&(
&&(
&&(
>(
i2854,
0),
>(
i2554,
0)),
<(
i2554,
i3)),
>(
i2563,
0)),
>(
+(
i2554,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) the following chains were created:
- We consider the chain LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))), COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20]) which results in the following constraint:
(122) (i2554[19]=i2554[20]∧i2563[19]=i2563[20]∧i58[19]=i58[20]∧&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0))=TRUE∧i2854[19]=i2854[20]∧i2744[19]=i2744[20]∧i2746[19]=i2746[20]∧a7628[19]=a7628[20]∧i3[19]=i3[20]∧a7196data[19]=a7196data[20] ⇒ LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥NonInfC∧LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥))
We simplified constraint (122) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(123) (>(+(i2554[19], 1), 0)=TRUE∧>(i2563[19], 0)=TRUE∧<(i2554[19], i3[19])=TRUE∧>(i2854[19], 0)=TRUE∧>(i2554[19], 0)=TRUE ⇒ LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥NonInfC∧LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥))
We simplified constraint (123) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(124) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_76] + [(2)bni_76]i58[19] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (124) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(125) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_76] + [(2)bni_76]i58[19] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (125) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(126) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_76] + [(2)bni_76]i58[19] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (126) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(127) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (127) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(128) ([1] + i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-2] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76 + (-1)bni_76] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (128) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(129) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] + [-2] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76 + (-1)bni_76] + [(-1)bni_76]i2554[19] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (129) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(130) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76 + bni_76] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
We simplified constraint (130) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(131) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76 + bni_76] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
For Pair
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a7196data)),
i2554,
i58,
i2563,
java.lang.Object(
java.lang.String(
i2854,
i2744,
i2746,
a7628))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3,
a7196data)),
+(
i2554,
1),
i58,
i2563) the following chains were created:
- We consider the chain COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20]) which results in the following constraint:
(132) (COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))≥NonInfC∧COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))≥JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])∧(UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥))
We simplified constraint (132) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(133) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_79] ≥ 0)
We simplified constraint (133) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(134) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_79] ≥ 0)
We simplified constraint (134) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(135) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_79] ≥ 0)
We simplified constraint (135) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(136) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_79] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD833(java.lang.Object(ARRAY(i3, a499data)), i52, i58) → LOAD833ARR1(java.lang.Object(ARRAY(i3, a499data)), i52, i58)
- ((UIncreasing(LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_39] ≥ 0)
- LOAD833ARR1(java.lang.Object(ARRAY(i3, a499data)), i52, i58) → COND_LOAD833ARR1(&&(&&(&&(>(i52, 0), <(i52, i3)), >(i58, 0)), >(+(i52, 1), 0)), java.lang.Object(ARRAY(i3, a499data)), i52, i58)
- ([1] + i52[1] ≥ 0∧i58[1] ≥ 0∧i52[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])), ≥)∧0 = 0∧[(-1)Bound*bni_40 + (3)bni_40] + [(2)bni_40]i58[1] + [bni_40]i3[1] ≥ 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3, a499data)), i52, i58) → LOAD833(java.lang.Object(ARRAY(i3, a499data)), +(i52, 1), +(i58, -1))
- ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, 0) → LOAD833(java.lang.Object(ARRAY(i3, a7196data)), i2554, +(i58, -1))
- ((UIncreasing(LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
- LOAD833(java.lang.Object(ARRAY(i3, a499data)), i52, i58) → LOAD833ARR2(java.lang.Object(ARRAY(i3, a499data)), i52, i58, java.lang.Object(java.lang.String(i114, i82, i84, a627)))
- ((UIncreasing(LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
- LOAD833ARR2(java.lang.Object(ARRAY(i3, a499data)), i52, i58, java.lang.Object(java.lang.String(i114, i82, i84, a627))) → COND_LOAD833ARR2(&&(&&(&&(&&(>(i114, 0), >(i52, 0)), <(i52, i3)), >(i58, 0)), >(+(i52, 1), 0)), java.lang.Object(ARRAY(i3, a499data)), i52, i58, java.lang.Object(java.lang.String(i114, i82, i84, a627)))
- ([1] + i52[5] ≥ 0∧i58[5] ≥ 0∧i3[5] ≥ 0∧i114[5] ≥ 0∧i52[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_48 + (-1)Bound*bni_48] + [(2)bni_48]i58[5] + [bni_48]i3[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3, a499data)), i52, i58, java.lang.Object(java.lang.String(i114, i82, i84, a627))) → LOAD11943(java.lang.Object(ARRAY(i3, a499data)), +(i52, 1), i58, i114)
- ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_51] ≥ 0)
- INC14138(java.lang.Object(ARRAY(i3, a7196data)), i2624, i58, i2563) → LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2624, i58, +(i2563, -1))
- ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → LOAD11943ARR3(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563)
- ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
- LOAD11943ARR3(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554, 0), <(i2554, i3)), >(i2563, 0)), >(+(i2554, 1), 0)), java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563)
- ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(2)bni_56] = 0∧0 = 0∧[(-1)Bound*bni_56 + bni_56] + [bni_56]i3[9] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
- COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), +(i2554, 1), i58, +(i2563, -1))
- ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_59] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → LOAD11943ARR5(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563)
- ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_61] ≥ 0)
- LOAD11943ARR5(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554, 0), <(i2554, i3)), >(i2563, 0)), >(+(i2554, 1), 0)), java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563)
- ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(2)bni_62] = 0∧0 = 0∧[(-1)Bound*bni_62 + bni_62] + [bni_62]i3[12] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
- COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → INC14138(java.lang.Object(ARRAY(i3, a7196data)), +(i2554, 1), i58, i2563)
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_65] ≥ 0)
- JMP14222'(java.lang.Object(ARRAY(i3, a7196data)), i2624, i58, i2563) → INC14138(java.lang.Object(ARRAY(i3, a7196data)), i2624, i58, i2563)
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_67] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → LOAD11943ARR6(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628)))
- ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)
- LOAD11943ARR6(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854, 0), >(i2554, 0)), <(i2554, i3)), >(i2563, 0)), >(+(i2554, 1), 0)), java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628)))
- ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_70] = 0∧0 = 0∧[(-1)Bound*bni_70 + bni_70] + [bni_70]i3[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_71] ≥ 0)
- COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628))) → INC14138(java.lang.Object(ARRAY(i3, a7196data)), +(i2554, 1), i58, i2563)
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563) → LOAD11943ARR9(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628)))
- ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_75] ≥ 0)
- LOAD11943ARR9(java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854, 0), >(i2554, 0)), <(i2554, i3)), >(i2563, 0)), >(+(i2554, 1), 0)), java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628)))
- ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_76] = 0∧0 = 0∧[(-1)Bound*bni_76 + bni_76] + [bni_76]i3[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_77] ≥ 0)
- COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3, a7196data)), i2554, i58, i2563, java.lang.Object(java.lang.String(i2854, i2744, i2746, a7628))) → JMP14222'(java.lang.Object(ARRAY(i3, a7196data)), +(i2554, 1), i58, i2563)
- ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_79] ≥ 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(LOAD833(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD833ARR1(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD833ARR1(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(-1) = [-1]
POL(LOAD11943(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD833ARR2(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD833ARR2(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4 + [-1]x3 + [-1]x2
POL(INC14138(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD11943ARR3(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD11943ARR3(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD11943ARR5(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD11943ARR5(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(JMP14222'(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD11943ARR6(x1, x2, x3, x4, x5)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD11943ARR6(x1, x2, x3, x4, x5, x6)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD11943ARR9(x1, x2, x3, x4, x5)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD11943ARR9(x1, x2, x3, x4, x5, x6)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD833(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0]) → LOAD833ARR1(java.lang.Object(ARRAY(i3[0], a499data[0])), i52[0], i58[0])
COND_LOAD833ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a499data[2])), i52[2], i58[2]) → LOAD833(java.lang.Object(ARRAY(i3[2], a499data[2])), +(i52[2], 1), +(i58[2], -1))
LOAD833(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4]) → LOAD833ARR2(java.lang.Object(ARRAY(i3[4], a499data[4])), i52[4], i58[4], java.lang.Object(java.lang.String(i114[4], i82[4], i84[4], a627[4])))
COND_LOAD833ARR2(TRUE, java.lang.Object(ARRAY(i3[6], a499data[6])), i52[6], i58[6], java.lang.Object(java.lang.String(i114[6], i82[6], i84[6], a627[6]))) → LOAD11943(java.lang.Object(ARRAY(i3[6], a499data[6])), +(i52[6], 1), i58[6], i114[6])
COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))
COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])
COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])
COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])
The following pairs are in P
bound:
LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]) → COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])
LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))) → COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))
The following pairs are in P
≥:
LOAD833ARR1(java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1]) → COND_LOAD833ARR1(&&(&&(&&(>(i52[1], 0), <(i52[1], i3[1])), >(i58[1], 0)), >(+(i52[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a499data[1])), i52[1], i58[1])
LOAD11943(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], i58[3], 0) → LOAD833(java.lang.Object(ARRAY(i3[3], a7196data[3])), i2554[3], +(i58[3], -1))
LOAD833ARR2(java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5]))) → COND_LOAD833ARR2(&&(&&(&&(&&(>(i114[5], 0), >(i52[5], 0)), <(i52[5], i3[5])), >(i58[5], 0)), >(+(i52[5], 1), 0)), java.lang.Object(ARRAY(i3[5], a499data[5])), i52[5], i58[5], java.lang.Object(java.lang.String(i114[5], i82[5], i84[5], a627[5])))
INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))
LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]) → LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])
LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])
LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]) → LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])
LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])
JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]) → INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])
LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15]) → LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))
LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))
LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18]) → LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))
LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))
There are no usable rules.
(26) Complex Obligation (AND)
(27) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(1):
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1]) →
COND_LOAD833ARR1(
i52[1] > 0 && i52[1] < i3[1] && i58[1] > 0 && i52[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a499data[1])),
i52[1],
i58[1])
(3):
LOAD11943(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3],
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3] + -1)
(5):
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5]))) →
COND_LOAD833ARR2(
i114[5] > 0 && i52[5] > 0 && i52[5] < i3[5] && i58[5] > 0 && i52[5] + 1 > 0,
java.lang.Object(
ARRAY(
i3[5],
a499data[5])),
i52[5],
i58[5],
java.lang.Object(
java.lang.String(
i114[5],
i82[5],
i84[5],
a627[5])))
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(7) -> (3), if ((i2624[7] →* i2554[3])∧(i58[7] →* i58[3])∧((i3[7] →* i3[3])∧(a7196data[7] →* a7196data[3]))∧(i2563[7] + -1 →* 0))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧((i3[14] →* i3[7])∧(a7196data[14] →* a7196data[7])))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧((i3[7] →* i3[8])∧(a7196data[7] →* a7196data[8]))∧(i2563[7] + -1 →* i2563[8]))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧((i3[8] →* i3[9])∧(a7196data[8] →* a7196data[9])))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧((i3[7] →* i3[11])∧(a7196data[7] →* a7196data[11]))∧(i2563[7] + -1 →* i2563[11]))
(11) -> (12), if ((i2563[11] →* i2563[12])∧((i3[11] →* i3[12])∧(a7196data[11] →* a7196data[12]))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧((i3[7] →* i3[15])∧(a7196data[7] →* a7196data[15])))
(15) -> (16), if (((i3[15] →* i3[16])∧(a7196data[15] →* a7196data[16]))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧((i2854[15] →* i2854[16])∧(i2744[15] →* i2744[16])∧(i2746[15] →* i2746[16])∧(a7628[15] →* a7628[16]))∧(i2563[15] →* i2563[16]))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧((i3[7] →* i3[18])∧(a7196data[7] →* a7196data[18])))
(18) -> (19), if (((i2854[18] →* i2854[19])∧(i2744[18] →* i2744[19])∧(i2746[18] →* i2746[19])∧(a7628[18] →* a7628[19]))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧((i3[18] →* i3[19])∧(a7196data[18] →* a7196data[19])))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(28) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 13 less nodes.
(29) TRUE
(30) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer, Boolean
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD833(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0]) →
LOAD833ARR1(
java.lang.Object(
ARRAY(
i3[0],
a499data[0])),
i52[0],
i58[0])
(2):
COND_LOAD833ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2],
i58[2]) →
LOAD833(
java.lang.Object(
ARRAY(
i3[2],
a499data[2])),
i52[2] + 1,
i58[2] + -1)
(3):
LOAD11943(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3],
0) →
LOAD833(
java.lang.Object(
ARRAY(
i3[3],
a7196data[3])),
i2554[3],
i58[3] + -1)
(4):
LOAD833(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4]) →
LOAD833ARR2(
java.lang.Object(
ARRAY(
i3[4],
a499data[4])),
i52[4],
i58[4],
java.lang.Object(
java.lang.String(
i114[4],
i82[4],
i84[4],
a627[4])))
(6):
COND_LOAD833ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6],
i58[6],
java.lang.Object(
java.lang.String(
i114[6],
i82[6],
i84[6],
a627[6]))) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[6],
a499data[6])),
i52[6] + 1,
i58[6],
i114[6])
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(2) -> (0), if (((i3[2] →* i3[0])∧(a499data[2] →* a499data[0]))∧(i58[2] + -1 →* i58[0])∧(i52[2] + 1 →* i52[0]))
(3) -> (0), if ((i2554[3] →* i52[0])∧((i3[3] →* i3[0])∧(a7196data[3] →* a499data[0]))∧(i58[3] + -1 →* i58[0]))
(6) -> (3), if ((i114[6] →* 0)∧(i52[6] + 1 →* i2554[3])∧(i58[6] →* i58[3])∧((i3[6] →* i3[3])∧(a499data[6] →* a7196data[3])))
(7) -> (3), if ((i2624[7] →* i2554[3])∧(i58[7] →* i58[3])∧((i3[7] →* i3[3])∧(a7196data[7] →* a7196data[3]))∧(i2563[7] + -1 →* 0))
(10) -> (3), if ((i58[10] →* i58[3])∧(i2563[10] + -1 →* 0)∧((i3[10] →* i3[3])∧(a7196data[10] →* a7196data[3]))∧(i2554[10] + 1 →* i2554[3]))
(2) -> (4), if ((i58[2] + -1 →* i58[4])∧((i3[2] →* i3[4])∧(a499data[2] →* a499data[4]))∧(i52[2] + 1 →* i52[4]))
(3) -> (4), if (((i3[3] →* i3[4])∧(a7196data[3] →* a499data[4]))∧(i2554[3] →* i52[4])∧(i58[3] + -1 →* i58[4]))
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧((i3[13] →* i3[7])∧(a7196data[13] →* a7196data[7]))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧((i3[14] →* i3[7])∧(a7196data[14] →* a7196data[7])))
(17) -> (7), if ((i58[17] →* i58[7])∧((i3[17] →* i3[7])∧(a7196data[17] →* a7196data[7]))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(6) -> (8), if ((i114[6] →* i2563[8])∧(i58[6] →* i58[8])∧(i52[6] + 1 →* i2554[8])∧((i3[6] →* i3[8])∧(a499data[6] →* a7196data[8])))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧((i3[7] →* i3[8])∧(a7196data[7] →* a7196data[8]))∧(i2563[7] + -1 →* i2563[8]))
(10) -> (8), if ((i58[10] →* i58[8])∧((i3[10] →* i3[8])∧(a7196data[10] →* a7196data[8]))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧((i3[8] →* i3[9])∧(a7196data[8] →* a7196data[9])))
(9) -> (10), if ((i2563[9] →* i2563[10])∧((i3[9] →* i3[10])∧(a7196data[9] →* a7196data[10]))∧(i58[9] →* i58[10])∧(i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0 →* TRUE)∧(i2554[9] →* i2554[10]))
(6) -> (11), if (((i3[6] →* i3[11])∧(a499data[6] →* a7196data[11]))∧(i58[6] →* i58[11])∧(i114[6] →* i2563[11])∧(i52[6] + 1 →* i2554[11]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧((i3[7] →* i3[11])∧(a7196data[7] →* a7196data[11]))∧(i2563[7] + -1 →* i2563[11]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧((i3[10] →* i3[11])∧(a7196data[10] →* a7196data[11])))
(11) -> (12), if ((i2563[11] →* i2563[12])∧((i3[11] →* i3[12])∧(a7196data[11] →* a7196data[12]))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(12) -> (13), if (((i3[12] →* i3[13])∧(a7196data[12] →* a7196data[13]))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧((i3[20] →* i3[14])∧(a7196data[20] →* a7196data[14])))
(6) -> (15), if ((i52[6] + 1 →* i2554[15])∧(i114[6] →* i2563[15])∧(i58[6] →* i58[15])∧((i3[6] →* i3[15])∧(a499data[6] →* a7196data[15])))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧((i3[7] →* i3[15])∧(a7196data[7] →* a7196data[15])))
(10) -> (15), if (((i3[10] →* i3[15])∧(a7196data[10] →* a7196data[15]))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(15) -> (16), if (((i3[15] →* i3[16])∧(a7196data[15] →* a7196data[16]))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧((i2854[15] →* i2854[16])∧(i2744[15] →* i2744[16])∧(i2746[15] →* i2746[16])∧(a7628[15] →* a7628[16]))∧(i2563[15] →* i2563[16]))
(16) -> (17), if ((i58[16] →* i58[17])∧((i3[16] →* i3[17])∧(a7196data[16] →* a7196data[17]))∧(i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0 →* TRUE)∧(i2563[16] →* i2563[17])∧(i2554[16] →* i2554[17])∧((i2854[16] →* i2854[17])∧(i2744[16] →* i2744[17])∧(i2746[16] →* i2746[17])∧(a7628[16] →* a7628[17])))
(6) -> (18), if (((i3[6] →* i3[18])∧(a499data[6] →* a7196data[18]))∧(i58[6] →* i58[18])∧(i52[6] + 1 →* i2554[18])∧(i114[6] →* i2563[18]))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧((i3[7] →* i3[18])∧(a7196data[7] →* a7196data[18])))
(10) -> (18), if (((i3[10] →* i3[18])∧(a7196data[10] →* a7196data[18]))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
(18) -> (19), if (((i2854[18] →* i2854[19])∧(i2744[18] →* i2744[19])∧(i2746[18] →* i2746[19])∧(a7628[18] →* a7628[19]))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧((i3[18] →* i3[19])∧(a7196data[18] →* a7196data[19])))
(19) -> (20), if ((i2554[19] →* i2554[20])∧(i2563[19] →* i2563[20])∧(i58[19] →* i58[20])∧(i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0 →* TRUE)∧((i2854[19] →* i2854[20])∧(i2744[19] →* i2744[20])∧(i2746[19] →* i2746[20])∧(a7628[19] →* a7628[20]))∧((i3[19] →* i3[20])∧(a7196data[19] →* a7196data[20])))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(31) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 5 less nodes.
(32) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer, Boolean
R is empty.
The integer pair graph contains the following rules and edges:
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(9):
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0,
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9])
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧((i3[13] →* i3[7])∧(a7196data[13] →* a7196data[7]))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧((i3[14] →* i3[7])∧(a7196data[14] →* a7196data[7])))
(17) -> (7), if ((i58[17] →* i58[7])∧((i3[17] →* i3[7])∧(a7196data[17] →* a7196data[7]))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧((i3[7] →* i3[8])∧(a7196data[7] →* a7196data[8]))∧(i2563[7] + -1 →* i2563[8]))
(10) -> (8), if ((i58[10] →* i58[8])∧((i3[10] →* i3[8])∧(a7196data[10] →* a7196data[8]))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(8) -> (9), if ((i2554[8] →* i2554[9])∧(i2563[8] →* i2563[9])∧(i58[8] →* i58[9])∧((i3[8] →* i3[9])∧(a7196data[8] →* a7196data[9])))
(9) -> (10), if ((i2563[9] →* i2563[10])∧((i3[9] →* i3[10])∧(a7196data[9] →* a7196data[10]))∧(i58[9] →* i58[10])∧(i2554[9] > 0 && i2554[9] < i3[9] && i2563[9] > 0 && i2554[9] + 1 > 0 →* TRUE)∧(i2554[9] →* i2554[10]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧((i3[7] →* i3[11])∧(a7196data[7] →* a7196data[11]))∧(i2563[7] + -1 →* i2563[11]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧((i3[10] →* i3[11])∧(a7196data[10] →* a7196data[11])))
(11) -> (12), if ((i2563[11] →* i2563[12])∧((i3[11] →* i3[12])∧(a7196data[11] →* a7196data[12]))∧(i2554[11] →* i2554[12])∧(i58[11] →* i58[12]))
(12) -> (13), if (((i3[12] →* i3[13])∧(a7196data[12] →* a7196data[13]))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧((i3[20] →* i3[14])∧(a7196data[20] →* a7196data[14])))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧((i3[7] →* i3[15])∧(a7196data[7] →* a7196data[15])))
(10) -> (15), if (((i3[10] →* i3[15])∧(a7196data[10] →* a7196data[15]))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(15) -> (16), if (((i3[15] →* i3[16])∧(a7196data[15] →* a7196data[16]))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧((i2854[15] →* i2854[16])∧(i2744[15] →* i2744[16])∧(i2746[15] →* i2746[16])∧(a7628[15] →* a7628[16]))∧(i2563[15] →* i2563[16]))
(16) -> (17), if ((i58[16] →* i58[17])∧((i3[16] →* i3[17])∧(a7196data[16] →* a7196data[17]))∧(i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0 →* TRUE)∧(i2563[16] →* i2563[17])∧(i2554[16] →* i2554[17])∧((i2854[16] →* i2854[17])∧(i2744[16] →* i2744[17])∧(i2746[16] →* i2746[17])∧(a7628[16] →* a7628[17])))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧((i3[7] →* i3[18])∧(a7196data[7] →* a7196data[18])))
(10) -> (18), if (((i3[10] →* i3[18])∧(a7196data[10] →* a7196data[18]))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
(18) -> (19), if (((i2854[18] →* i2854[19])∧(i2744[18] →* i2744[19])∧(i2746[18] →* i2746[19])∧(a7628[18] →* a7628[19]))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧((i3[18] →* i3[19])∧(a7196data[18] →* a7196data[19])))
(19) -> (20), if ((i2554[19] →* i2554[20])∧(i2563[19] →* i2563[20])∧(i58[19] →* i58[20])∧(i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0 →* TRUE)∧((i2854[19] →* i2854[20])∧(i2744[19] →* i2744[20])∧(i2746[19] →* i2746[20])∧(a7628[19] →* a7628[20]))∧((i3[19] →* i3[20])∧(a7196data[19] →* a7196data[20])))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(33) IDPNonInfProof (SOUND transformation)
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
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) the following chains were created:
- We consider the chain JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]) → INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]), INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1)) which results in the following constraint:
(1) (i2563[14]=i2563[7]∧i2624[14]=i2624[7]∧i58[14]=i58[7]∧i3[14]=i3[7]∧a7196data[14]=a7196data[7] ⇒ JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥NonInfC∧JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥NonInfC∧JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])≥INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_22] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_22] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧[(-1)bso_22] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_22] ≥ 0)
For Pair
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
+(
i2554[20],
1),
i58[20],
i2563[20]) the following chains were created:
- We consider the chain COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20]) which results in the following constraint:
(7) (COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))≥NonInfC∧COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20])))≥JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])∧(UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_24] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_24] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧[1 + (-1)bso_24] ≥ 0)
We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(11) ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)
For Pair
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
&&(
&&(
&&(
&&(
>(
i2854[19],
0),
>(
i2554[19],
0)),
<(
i2554[19],
i3[19])),
>(
i2563[19],
0)),
>(
+(
i2554[19],
1),
0)),
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) the following chains were created:
- We consider the chain LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))), COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20]) which results in the following constraint:
(12) (i2554[19]=i2554[20]∧i2563[19]=i2563[20]∧i58[19]=i58[20]∧&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0))=TRUE∧i2854[19]=i2854[20]∧i2744[19]=i2744[20]∧i2746[19]=i2746[20]∧a7628[19]=a7628[20]∧i3[19]=i3[20]∧a7196data[19]=a7196data[20] ⇒ LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥NonInfC∧LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥))
We simplified constraint (12) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(13) (>(+(i2554[19], 1), 0)=TRUE∧>(i2563[19], 0)=TRUE∧<(i2554[19], i3[19])=TRUE∧>(i2854[19], 0)=TRUE∧>(i2554[19], 0)=TRUE ⇒ LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥NonInfC∧LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))≥COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))∧(UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥))
We simplified constraint (13) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(14) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_25] + [(2)bni_25]i2563[19] ≥ 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (14) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(15) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_25] + [(2)bni_25]i2563[19] ≥ 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (15) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(16) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧[(-1)Bound*bni_25] + [(2)bni_25]i2563[19] ≥ 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (16) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(17) (i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-1] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (17) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(18) ([1] + i2554[19] ≥ 0∧i2563[19] + [-1] ≥ 0∧i3[19] + [-2] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (18) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(19) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] + [-2] + [-1]i2554[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25 + (2)bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (19) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(20) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] + [-1] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25 + (2)bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
We simplified constraint (20) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(21) ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25 + (2)bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18]))) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18]) → LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18]))) which results in the following constraint:
(22) (LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18])≥LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))∧(UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_28] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_28] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧[(-1)bso_28] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
For Pair
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
+(
i2554[17],
1),
i58[17],
i2563[17]) the following chains were created:
- We consider the chain COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17]) which results in the following constraint:
(27) (COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17])))≥NonInfC∧COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17])))≥INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_30] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_30] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧[1 + (-1)bso_30] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_30] ≥ 0)
For Pair
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
&&(
&&(
&&(
&&(
>(
i2854[16],
0),
>(
i2554[16],
0)),
<(
i2554[16],
i3[16])),
>(
i2563[16],
0)),
>(
+(
i2554[16],
1),
0)),
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) the following chains were created:
- We consider the chain LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))), COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17]) which results in the following constraint:
(32) (i58[16]=i58[17]∧i3[16]=i3[17]∧a7196data[16]=a7196data[17]∧&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0))=TRUE∧i2563[16]=i2563[17]∧i2554[16]=i2554[17]∧i2854[16]=i2854[17]∧i2744[16]=i2744[17]∧i2746[16]=i2746[17]∧a7628[16]=a7628[17] ⇒ LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥NonInfC∧LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i2554[16], 1), 0)=TRUE∧>(i2563[16], 0)=TRUE∧<(i2554[16], i3[16])=TRUE∧>(i2854[16], 0)=TRUE∧>(i2554[16], 0)=TRUE ⇒ LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥NonInfC∧LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))≥COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))∧(UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_31] + [(2)bni_31]i2563[16] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_31] + [(2)bni_31]i2563[16] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧[(-1)Bound*bni_31] + [(2)bni_31]i2563[16] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-1] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i2554[16] ≥ 0∧i2563[16] + [-1] ≥ 0∧i3[16] + [-2] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] + [-2] + [-1]i2554[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] + [-1] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15]))) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15]) → LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15]))) which results in the following constraint:
(42) (LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15])≥LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))∧(UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_34] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_34] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧[(-1)bso_34] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_34] ≥ 0)
For Pair
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
+(
i2563[7],
-1)) the following chains were created:
- We consider the chain INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1)) which results in the following constraint:
(47) (INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7])≥NonInfC∧INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7])≥LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))∧(UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
For Pair
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
+(
i2554[13],
1),
i58[13],
i2563[13]) the following chains were created:
- We consider the chain COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13]) which results in the following constraint:
(52) (COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13])≥NonInfC∧COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13])≥INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])∧(UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥))
We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(53) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(54) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(55) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(56) ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
For Pair
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
&&(
&&(
&&(
>(
i2554[12],
0),
<(
i2554[12],
i3[12])),
>(
i2563[12],
0)),
>(
+(
i2554[12],
1),
0)),
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) the following chains were created:
- We consider the chain LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]), COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13]) which results in the following constraint:
(57) (i3[12]=i3[13]∧a7196data[12]=a7196data[13]∧i2563[12]=i2563[13]∧i58[12]=i58[13]∧i2554[12]=i2554[13]∧&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0))=TRUE ⇒ LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥NonInfC∧LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])∧(UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥))
We simplified constraint (57) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(58) (>(+(i2554[12], 1), 0)=TRUE∧>(i2563[12], 0)=TRUE∧>(i2554[12], 0)=TRUE∧<(i2554[12], i3[12])=TRUE ⇒ LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥NonInfC∧LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])≥COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])∧(UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥))
We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(59) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(60) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (60) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(61) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (61) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(62) (i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] + [-1] ≥ 0∧i3[12] + [-1] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧0 = 0∧[(-1)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (62) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(63) ([1] + i2554[12] ≥ 0∧i2563[12] + [-1] ≥ 0∧i2554[12] ≥ 0∧i3[12] + [-2] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧0 = 0∧[(-1)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] + [-2] + [-1]i2554[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧0 = 0∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧0 = 0∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]) → LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]), LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) which results in the following constraint:
(66) (i2563[11]=i2563[12]∧i3[11]=i3[12]∧a7196data[11]=a7196data[12]∧i2554[11]=i2554[12]∧i58[11]=i58[12] ⇒ LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])∧(UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥))
We simplified constraint (66) using rule (IV) which results in the following new constraint:
(67) (LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])≥LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])∧(UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[1 + (-1)bso_42] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[1 + (-1)bso_42] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧[1 + (-1)bso_42] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_42] ≥ 0)
For Pair
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
+(
i2554[10],
1),
i58[10],
+(
i2563[10],
-1)) the following chains were created:
- We consider the chain COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1)) which results in the following constraint:
(72) (COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10])≥NonInfC∧COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10])≥LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))∧(UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_44] ≥ 0)
For Pair
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) →
COND_LOAD11943ARR3(
&&(
&&(
&&(
>(
i2554[9],
0),
<(
i2554[9],
i3[9])),
>(
i2563[9],
0)),
>(
+(
i2554[9],
1),
0)),
java.lang.Object(
ARRAY(
i3[9],
a7196data[9])),
i2554[9],
i58[9],
i2563[9]) the following chains were created:
- We consider the chain LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]), COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1)) which results in the following constraint:
(77) (i2563[9]=i2563[10]∧i3[9]=i3[10]∧a7196data[9]=a7196data[10]∧i58[9]=i58[10]∧&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0))=TRUE∧i2554[9]=i2554[10] ⇒ LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥NonInfC∧LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])∧(UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i2554[9], 1), 0)=TRUE∧>(i2563[9], 0)=TRUE∧>(i2554[9], 0)=TRUE∧<(i2554[9], i3[9])=TRUE ⇒ LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥NonInfC∧LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])≥COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])∧(UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_45] + [(2)bni_45]i2563[9] ≥ 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_45] + [(2)bni_45]i2563[9] ≥ 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧[(-1)Bound*bni_45] + [(2)bni_45]i2563[9] ≥ 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] + [-1] ≥ 0∧i3[9] + [-1] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [(2)bni_45]i2563[9] ≥ 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i2554[9] ≥ 0∧i2563[9] + [-1] ≥ 0∧i2554[9] ≥ 0∧i3[9] + [-2] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧0 = 0∧[(-1)Bound*bni_45] + [(2)bni_45]i2563[9] ≥ 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] + [-2] + [-1]i2554[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [(2)bni_45]i2563[9] ≥ 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [(2)bni_45]i2563[9] ≥ 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)
For Pair
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) the following chains were created:
- We consider the chain LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]) → LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]), LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) which results in the following constraint:
(86) (i2554[8]=i2554[9]∧i2563[8]=i2563[9]∧i58[8]=i58[9]∧i3[8]=i3[9]∧a7196data[8]=a7196data[9] ⇒ LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])∧(UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥))
We simplified constraint (86) using rule (IV) which results in the following new constraint:
(87) (LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥NonInfC∧LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])≥LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])∧(UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]) → INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_22] ≥ 0)
- COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])
- ((UIncreasing(JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)
- LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))
- ([1] + i2554[19] ≥ 0∧i2563[19] ≥ 0∧i3[19] ≥ 0∧i2854[19] ≥ 0∧i2554[19] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_25 + (2)bni_25] + [(2)bni_25]i2563[19] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18]) → LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))
- ((UIncreasing(LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_28] ≥ 0)
- COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_30] ≥ 0)
- LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))
- ([1] + i2554[16] ≥ 0∧i2563[16] ≥ 0∧i3[16] ≥ 0∧i2854[16] ≥ 0∧i2554[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [(2)bni_31]i2563[16] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15]) → LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))
- ((UIncreasing(LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_34] ≥ 0)
- INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))
- ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
- COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])
- ((UIncreasing(INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
- LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])
- ([1] + i2554[12] ≥ 0∧i2563[12] ≥ 0∧i2554[12] ≥ 0∧i3[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])), ≥)∧0 = 0∧[bni_39 + (-1)Bound*bni_39] + [(2)bni_39]i2563[12] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]) → LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])
- ((UIncreasing(LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_42] ≥ 0)
- COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))
- ((UIncreasing(LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_44] ≥ 0)
- LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])
- ([1] + i2554[9] ≥ 0∧i2563[9] ≥ 0∧i2554[9] ≥ 0∧i3[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [(2)bni_45]i2563[9] ≥ 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)
- LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]) → LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])
- ((UIncreasing(LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 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(JMP14222'(x1, x2, x3, x4)) = [-1] + [2]x4
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(INC14138(x1, x2, x3, x4)) = [-1] + [2]x4
POL(COND_LOAD11943ARR9(x1, x2, x3, x4, x5, x6)) = [-1] + [-1]x6 + [2]x5
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(LOAD11943ARR9(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(LOAD11943(x1, x2, x3, x4)) = [2]x4
POL(COND_LOAD11943ARR6(x1, x2, x3, x4, x5, x6)) = [-1] + [-1]x6 + [2]x5
POL(LOAD11943ARR6(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4
POL(-1) = [-1]
POL(COND_LOAD11943ARR5(x1, x2, x3, x4, x5)) = [-1] + [2]x5
POL(LOAD11943ARR5(x1, x2, x3, x4)) = [-1] + [2]x4
POL(COND_LOAD11943ARR3(x1, x2, x3, x4, x5)) = [-1] + [2]x5
POL(LOAD11943ARR3(x1, x2, x3, x4)) = [2]x4
The following pairs are in P
>:
COND_LOAD11943ARR9(TRUE, java.lang.Object(ARRAY(i3[20], a7196data[20])), i2554[20], i58[20], i2563[20], java.lang.Object(java.lang.String(i2854[20], i2744[20], i2746[20], a7628[20]))) → JMP14222'(java.lang.Object(ARRAY(i3[20], a7196data[20])), +(i2554[20], 1), i58[20], i2563[20])
COND_LOAD11943ARR6(TRUE, java.lang.Object(ARRAY(i3[17], a7196data[17])), i2554[17], i58[17], i2563[17], java.lang.Object(java.lang.String(i2854[17], i2744[17], i2746[17], a7628[17]))) → INC14138(java.lang.Object(ARRAY(i3[17], a7196data[17])), +(i2554[17], 1), i58[17], i2563[17])
INC14138(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], i2563[7]) → LOAD11943(java.lang.Object(ARRAY(i3[7], a7196data[7])), i2624[7], i58[7], +(i2563[7], -1))
LOAD11943(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11]) → LOAD11943ARR5(java.lang.Object(ARRAY(i3[11], a7196data[11])), i2554[11], i58[11], i2563[11])
COND_LOAD11943ARR3(TRUE, java.lang.Object(ARRAY(i3[10], a7196data[10])), i2554[10], i58[10], i2563[10]) → LOAD11943(java.lang.Object(ARRAY(i3[10], a7196data[10])), +(i2554[10], 1), i58[10], +(i2563[10], -1))
LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])
The following pairs are in P
bound:
LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))
LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))
LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])
LOAD11943ARR3(java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9]) → COND_LOAD11943ARR3(&&(&&(&&(>(i2554[9], 0), <(i2554[9], i3[9])), >(i2563[9], 0)), >(+(i2554[9], 1), 0)), java.lang.Object(ARRAY(i3[9], a7196data[9])), i2554[9], i58[9], i2563[9])
The following pairs are in P
≥:
JMP14222'(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14]) → INC14138(java.lang.Object(ARRAY(i3[14], a7196data[14])), i2624[14], i58[14], i2563[14])
LOAD11943ARR9(java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19]))) → COND_LOAD11943ARR9(&&(&&(&&(&&(>(i2854[19], 0), >(i2554[19], 0)), <(i2554[19], i3[19])), >(i2563[19], 0)), >(+(i2554[19], 1), 0)), java.lang.Object(ARRAY(i3[19], a7196data[19])), i2554[19], i58[19], i2563[19], java.lang.Object(java.lang.String(i2854[19], i2744[19], i2746[19], a7628[19])))
LOAD11943(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18]) → LOAD11943ARR9(java.lang.Object(ARRAY(i3[18], a7196data[18])), i2554[18], i58[18], i2563[18], java.lang.Object(java.lang.String(i2854[18], i2744[18], i2746[18], a7628[18])))
LOAD11943ARR6(java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16]))) → COND_LOAD11943ARR6(&&(&&(&&(&&(>(i2854[16], 0), >(i2554[16], 0)), <(i2554[16], i3[16])), >(i2563[16], 0)), >(+(i2554[16], 1), 0)), java.lang.Object(ARRAY(i3[16], a7196data[16])), i2554[16], i58[16], i2563[16], java.lang.Object(java.lang.String(i2854[16], i2744[16], i2746[16], a7628[16])))
LOAD11943(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15]) → LOAD11943ARR6(java.lang.Object(ARRAY(i3[15], a7196data[15])), i2554[15], i58[15], i2563[15], java.lang.Object(java.lang.String(i2854[15], i2744[15], i2746[15], a7628[15])))
COND_LOAD11943ARR5(TRUE, java.lang.Object(ARRAY(i3[13], a7196data[13])), i2554[13], i58[13], i2563[13]) → INC14138(java.lang.Object(ARRAY(i3[13], a7196data[13])), +(i2554[13], 1), i58[13], i2563[13])
LOAD11943ARR5(java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12]) → COND_LOAD11943ARR5(&&(&&(&&(>(i2554[12], 0), <(i2554[12], i3[12])), >(i2563[12], 0)), >(+(i2554[12], 1), 0)), java.lang.Object(ARRAY(i3[12], a7196data[12])), i2554[12], i58[12], i2563[12])
LOAD11943(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8]) → LOAD11943ARR3(java.lang.Object(ARRAY(i3[8], a7196data[8])), i2554[8], i58[8], i2563[8])
There are no usable rules.
(34) Complex Obligation (AND)
(35) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(19):
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19]))) →
COND_LOAD11943ARR9(
i2854[19] > 0 && i2554[19] > 0 && i2554[19] < i3[19] && i2563[19] > 0 && i2554[19] + 1 > 0,
java.lang.Object(
ARRAY(
i3[19],
a7196data[19])),
i2554[19],
i58[19],
i2563[19],
java.lang.Object(
java.lang.String(
i2854[19],
i2744[19],
i2746[19],
a7628[19])))
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(16):
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16]))) →
COND_LOAD11943ARR6(
i2854[16] > 0 && i2554[16] > 0 && i2554[16] < i3[16] && i2563[16] > 0 && i2554[16] + 1 > 0,
java.lang.Object(
ARRAY(
i3[16],
a7196data[16])),
i2554[16],
i58[16],
i2563[16],
java.lang.Object(
java.lang.String(
i2854[16],
i2744[16],
i2746[16],
a7628[16])))
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(12):
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12]) →
COND_LOAD11943ARR5(
i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0,
java.lang.Object(
ARRAY(
i3[12],
a7196data[12])),
i2554[12],
i58[12],
i2563[12])
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(12) -> (13), if (((i3[12] →* i3[13])∧(a7196data[12] →* a7196data[13]))∧(i2563[12] →* i2563[13])∧(i58[12] →* i58[13])∧(i2554[12] →* i2554[13])∧(i2554[12] > 0 && i2554[12] < i3[12] && i2563[12] > 0 && i2554[12] + 1 > 0 →* TRUE))
(15) -> (16), if (((i3[15] →* i3[16])∧(a7196data[15] →* a7196data[16]))∧(i2554[15] →* i2554[16])∧(i58[15] →* i58[16])∧((i2854[15] →* i2854[16])∧(i2744[15] →* i2744[16])∧(i2746[15] →* i2746[16])∧(a7628[15] →* a7628[16]))∧(i2563[15] →* i2563[16]))
(18) -> (19), if (((i2854[18] →* i2854[19])∧(i2744[18] →* i2744[19])∧(i2746[18] →* i2746[19])∧(a7628[18] →* a7628[19]))∧(i2554[18] →* i2554[19])∧(i2563[18] →* i2563[19])∧(i58[18] →* i58[19])∧((i3[18] →* i3[19])∧(a7196data[18] →* a7196data[19])))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(36) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 8 less nodes.
(37) TRUE
(38) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(14):
JMP14222'(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14]) →
INC14138(
java.lang.Object(
ARRAY(
i3[14],
a7196data[14])),
i2624[14],
i58[14],
i2563[14])
(20):
COND_LOAD11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20],
i58[20],
i2563[20],
java.lang.Object(
java.lang.String(
i2854[20],
i2744[20],
i2746[20],
a7628[20]))) →
JMP14222'(
java.lang.Object(
ARRAY(
i3[20],
a7196data[20])),
i2554[20] + 1,
i58[20],
i2563[20])
(18):
LOAD11943(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18]) →
LOAD11943ARR9(
java.lang.Object(
ARRAY(
i3[18],
a7196data[18])),
i2554[18],
i58[18],
i2563[18],
java.lang.Object(
java.lang.String(
i2854[18],
i2744[18],
i2746[18],
a7628[18])))
(17):
COND_LOAD11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17],
i58[17],
i2563[17],
java.lang.Object(
java.lang.String(
i2854[17],
i2744[17],
i2746[17],
a7628[17]))) →
INC14138(
java.lang.Object(
ARRAY(
i3[17],
a7196data[17])),
i2554[17] + 1,
i58[17],
i2563[17])
(15):
LOAD11943(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15]) →
LOAD11943ARR6(
java.lang.Object(
ARRAY(
i3[15],
a7196data[15])),
i2554[15],
i58[15],
i2563[15],
java.lang.Object(
java.lang.String(
i2854[15],
i2744[15],
i2746[15],
a7628[15])))
(7):
INC14138(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[7],
a7196data[7])),
i2624[7],
i58[7],
i2563[7] + -1)
(13):
COND_LOAD11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13],
i58[13],
i2563[13]) →
INC14138(
java.lang.Object(
ARRAY(
i3[13],
a7196data[13])),
i2554[13] + 1,
i58[13],
i2563[13])
(11):
LOAD11943(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11]) →
LOAD11943ARR5(
java.lang.Object(
ARRAY(
i3[11],
a7196data[11])),
i2554[11],
i58[11],
i2563[11])
(10):
COND_LOAD11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10],
i58[10],
i2563[10]) →
LOAD11943(
java.lang.Object(
ARRAY(
i3[10],
a7196data[10])),
i2554[10] + 1,
i58[10],
i2563[10] + -1)
(8):
LOAD11943(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8]) →
LOAD11943ARR3(
java.lang.Object(
ARRAY(
i3[8],
a7196data[8])),
i2554[8],
i58[8],
i2563[8])
(13) -> (7), if ((i2554[13] + 1 →* i2624[7])∧(i2563[13] →* i2563[7])∧((i3[13] →* i3[7])∧(a7196data[13] →* a7196data[7]))∧(i58[13] →* i58[7]))
(14) -> (7), if ((i2563[14] →* i2563[7])∧(i2624[14] →* i2624[7])∧(i58[14] →* i58[7])∧((i3[14] →* i3[7])∧(a7196data[14] →* a7196data[7])))
(17) -> (7), if ((i58[17] →* i58[7])∧((i3[17] →* i3[7])∧(a7196data[17] →* a7196data[7]))∧(i2554[17] + 1 →* i2624[7])∧(i2563[17] →* i2563[7]))
(7) -> (8), if ((i58[7] →* i58[8])∧(i2624[7] →* i2554[8])∧((i3[7] →* i3[8])∧(a7196data[7] →* a7196data[8]))∧(i2563[7] + -1 →* i2563[8]))
(10) -> (8), if ((i58[10] →* i58[8])∧((i3[10] →* i3[8])∧(a7196data[10] →* a7196data[8]))∧(i2554[10] + 1 →* i2554[8])∧(i2563[10] + -1 →* i2563[8]))
(7) -> (11), if ((i2624[7] →* i2554[11])∧(i58[7] →* i58[11])∧((i3[7] →* i3[11])∧(a7196data[7] →* a7196data[11]))∧(i2563[7] + -1 →* i2563[11]))
(10) -> (11), if ((i2563[10] + -1 →* i2563[11])∧(i58[10] →* i58[11])∧(i2554[10] + 1 →* i2554[11])∧((i3[10] →* i3[11])∧(a7196data[10] →* a7196data[11])))
(20) -> (14), if ((i2563[20] →* i2563[14])∧(i58[20] →* i58[14])∧(i2554[20] + 1 →* i2624[14])∧((i3[20] →* i3[14])∧(a7196data[20] →* a7196data[14])))
(7) -> (15), if ((i2563[7] + -1 →* i2563[15])∧(i58[7] →* i58[15])∧(i2624[7] →* i2554[15])∧((i3[7] →* i3[15])∧(a7196data[7] →* a7196data[15])))
(10) -> (15), if (((i3[10] →* i3[15])∧(a7196data[10] →* a7196data[15]))∧(i58[10] →* i58[15])∧(i2554[10] + 1 →* i2554[15])∧(i2563[10] + -1 →* i2563[15]))
(7) -> (18), if ((i58[7] →* i58[18])∧(i2624[7] →* i2554[18])∧(i2563[7] + -1 →* i2563[18])∧((i3[7] →* i3[18])∧(a7196data[7] →* a7196data[18])))
(10) -> (18), if (((i3[10] →* i3[18])∧(a7196data[10] →* a7196data[18]))∧(i2554[10] + 1 →* i2554[18])∧(i58[10] →* i58[18])∧(i2563[10] + -1 →* i2563[18]))
The set Q consists of the following terms:
Load833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load833ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load833ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load833ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc14138(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load11943ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP14222(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load11943ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Load11943ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load11943ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(39) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(40) TRUE