(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))=TRUEi58[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])=TRUELOAD833ARR1(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))=TRUEi58[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)=TRUELOAD833ARR2(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))=TRUEi2554[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])=TRUELOAD11943ARR3(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))=TRUELOAD11943ARR5(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])=TRUELOAD11943ARR5(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))=TRUEi2563[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)=TRUELOAD11943ARR6(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))=TRUEi2854[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)=TRUELOAD11943ARR9(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 Pbound 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 Pbound.
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 Pbound:

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))=TRUEi2854[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)=TRUELOAD11943ARR9(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))=TRUEi2563[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)=TRUELOAD11943ARR6(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))=TRUELOAD11943ARR5(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])=TRUELOAD11943ARR5(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))=TRUEi2554[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])=TRUELOAD11943ARR3(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 Pbound 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 Pbound.
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 Pbound:

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