(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Flatten
public class Flatten {
public static void main(String[] args) {
Random.args = args;
int listLength = Random.random();
TreeList list = null;
for (int i = listLength; i > 0; i--) {
Tree tree = Tree.createTree();
list = new TreeList(tree, list);
}
flatten(list);
}
public static ObjectList flatten(TreeList start) {
ObjectList result = null;
while (start != null) {
Tree tree = start.value;
if (tree != null) {
result = new ObjectList(tree.value, result);
start = start.next;
start = new TreeList(tree.left, start);
start = new TreeList(tree.right, start);
} else {
start = start.next;
}
}
return result;
}
}
public class ObjectList {
Object value;
ObjectList next;
public ObjectList(Object value, ObjectList next) {
this.value = value;
this.next = next;
}
public static ObjectList createList() {
ObjectList result = null;
int length = Random.random();
while (length > 0) {
result = new ObjectList(new Object(), result);
length--;
}
return result;
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
String string = args[index];
index++;
return string.length();
}
}
public class Tree {
Tree left;
Tree right;
Object value;
public Tree(Tree l, Tree r) {
this.left = l;
this.right = r;
}
public Tree() {
}
public static Tree createNode() {
Tree result = new Tree();
result.value = new Object();
return result;
}
public static Tree createTree() {
int counter = Random.random();
if (counter == 0) {
return null;
}
Tree result = createNode();
Tree t = result;
while (counter > 0) {
int branch = Random.random();
if (branch > 0) {
if (t.left == null) {
t.left = createNode();
t = result;
} else {
t = t.left;
}
} else {
if (t.right == null) {
t.right = createNode();
t = result;
} else {
t = t.right;
}
}
counter--;
}
return result;
}
public static void main(String[] args) {
Random.args = args;
createTree();
}
}
public class TreeList {
Tree value;
TreeList next;
public TreeList(Tree value, TreeList next) {
this.value = value;
this.next = next;
}
}
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 582 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:
Load5265(
java.lang.Object(
TreeList(
java.lang.Object(
Tree(
o8601,
o8598,
o8599)),
o7868)),
java.lang.Object(
TreeList(
java.lang.Object(
Tree(
o8601,
o8598,
o8599)),
o7868))) →
New7313(
java.lang.Object(
TreeList(
java.lang.Object(
Tree(
o8601,
o8598,
o8599)),
o7868)),
o7868,
java.lang.Object(
Tree(
o8601,
o8598,
o8599)))
JMP5735(
o7702,
o7860) →
Load5265(
o7702,
o7860)
Load5265(
o7702,
java.lang.Object(
TreeList(
NULL,
o7860))) →
Load5265(
o7702,
o7860)
New7313(
o7702,
o7860,
java.lang.Object(
Tree(
o8558,
o8553,
o8556))) →
JMP5735(
o7702,
java.lang.Object(
TreeList(
o8556,
java.lang.Object(
TreeList(
o8553,
o7860)))))
Load5265(
o7702,
java.lang.Object(
TreeList(
java.lang.Object(
Tree(
o8558,
o8553,
o8556)),
o7860))) →
JMP5735(
o7702,
java.lang.Object(
TreeList(
o8556,
java.lang.Object(
TreeList(
o8553,
o7860)))))
Load5265(
java.lang.Object(
TreeList(
NULL,
o7868)),
java.lang.Object(
TreeList(
NULL,
o7868))) →
JMP5735(
java.lang.Object(
TreeList(
NULL,
o7868)),
o7868)
The set Q consists of the following terms:
JMP5735(
x0,
x1)
Load5265(
x0,
java.lang.Object(
TreeList(
NULL,
x1)))
New7313(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)))
Load5265(
x0,
java.lang.Object(
TreeList(
java.lang.Object(
Tree(
x1,
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:
Load5265(java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868)), java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868))) → New7313(java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868)), o7868, java.lang.Object(Tree(o8601, o8598, o8599)))
JMP5735(o7702, o7860) → Load5265(o7702, o7860)
Load5265(o7702, java.lang.Object(TreeList(NULL, o7860))) → Load5265(o7702, o7860)
New7313(o7702, o7860, java.lang.Object(Tree(o8558, o8553, o8556))) → JMP5735(o7702, java.lang.Object(TreeList(o8556, java.lang.Object(TreeList(o8553, o7860)))))
Load5265(o7702, java.lang.Object(TreeList(java.lang.Object(Tree(o8558, o8553, o8556)), o7860))) → JMP5735(o7702, java.lang.Object(TreeList(o8556, java.lang.Object(TreeList(o8553, o7860)))))
Load5265(java.lang.Object(TreeList(NULL, o7868)), java.lang.Object(TreeList(NULL, o7868))) → JMP5735(java.lang.Object(TreeList(NULL, o7868)), o7868)
The set Q consists of the following terms:
JMP5735(x0, x1)
Load5265(x0, java.lang.Object(TreeList(NULL, x1)))
New7313(x0, x1, java.lang.Object(Tree(x2, x3, x4)))
Load5265(x0, java.lang.Object(TreeList(java.lang.Object(Tree(x1, x2, x3)), x4)))
(8) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP5735(x1, x2)) = 1 + x1 + x2
POL(Load5265(x1, x2)) = x1 + x2
POL(NULL) = 1
POL(New7313(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:
Load5265(java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868)), java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868))) → New7313(java.lang.Object(TreeList(java.lang.Object(Tree(o8601, o8598, o8599)), o7868)), o7868, java.lang.Object(Tree(o8601, o8598, o8599)))
JMP5735(o7702, o7860) → Load5265(o7702, o7860)
Load5265(o7702, java.lang.Object(TreeList(NULL, o7860))) → Load5265(o7702, o7860)
New7313(o7702, o7860, java.lang.Object(Tree(o8558, o8553, o8556))) → JMP5735(o7702, java.lang.Object(TreeList(o8556, java.lang.Object(TreeList(o8553, o7860)))))
Load5265(o7702, java.lang.Object(TreeList(java.lang.Object(Tree(o8558, o8553, o8556)), o7860))) → JMP5735(o7702, java.lang.Object(TreeList(o8556, java.lang.Object(TreeList(o8553, o7860)))))
Load5265(java.lang.Object(TreeList(NULL, o7868)), java.lang.Object(TreeList(NULL, o7868))) → JMP5735(java.lang.Object(TreeList(NULL, o7868)), o7868)
(9) Obligation:
Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:
JMP5735(x0, x1)
Load5265(x0, java.lang.Object(TreeList(NULL, x1)))
New7313(x0, x1, java.lang.Object(Tree(x2, x3, x4)))
Load5265(x0, java.lang.Object(TreeList(java.lang.Object(Tree(x1, 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:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
0)))
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
0))) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
0)))
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
0))) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120,
java.lang.Object(
Tree(
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL)))
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))))) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296))) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
o25585new,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587))) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)))
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296))) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1))))) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL))) →
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR8(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
o25585new,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
Tree(
NULL,
o25587))) →
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR9(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
Tree(
o25586,
NULL))) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0)))
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
0)))
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Inc20602(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
JMP20418(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
JMP20531(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
(13) GroundTermsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they always contain the same ground term.
We removed the following ground terms:
- java.lang.Object(java.lang.String(0))
We removed arguments according to the following replacements:
Cond_Load1577ARR1(x1, x2, x3, x4, x5) → Cond_Load1577ARR1(x1, x2, x3, x4)
Load1577ARR1(x1, x2, x3, x4) → Load1577ARR1(x1, x2, x3)
(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:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120,
java.lang.Object(
Tree(
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL)))
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))))) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296))) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
o25585new,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587))) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)))
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296))) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1))))) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL))) →
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR8(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
o25585new,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
Tree(
NULL,
o25587))) →
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR9(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
Tree(
o25586,
NULL))) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Inc20602(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
JMP20418(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
JMP20531(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
(15) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP20531(x1, x2, x3, x4, x5, x6) → JMP20531(x1, x2, x3, x4, x6)
Cond_Load15508ARR10(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR10(x1, x2, x3, x4, x5, x7, x8)
Load15508ARR10(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR10(x1, x2, x3, x4, x6, x7)
JMP20418(x1, x2, x3, x4, x5, x6) → JMP20418(x1, x2, x3, x4, x6)
Cond_Load15508ARR9(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR9(x1, x2, x3, x4, x5, x7, x8)
Load15508ARR9(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR9(x1, x2, x3, x4, x6, x7)
Inc20602(x1, x2, x3, x4, x5, x6) → Inc20602(x1, x2, x3, x4, x6)
Cond_Load15508ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR7(x1, x2, x3, x4, x5, x7, x8)
Load15508ARR7(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR7(x1, x2, x3, x4, x6, x7)
Cond_Load15508ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR5(x1, x2, x3, x4, x5, x7, x8)
Load15508ARR5(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR5(x1, x2, x3, x4, x6, 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:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25591Field0,
o25591Field1))) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120,
java.lang.Object(
Tree(
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL)))
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1))))) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28810Field0,
o28810Field1)))
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296))) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
NULL,
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1,
o25585new,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587))) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)),
o25587)),
java.lang.Object(
Tree(
o28479Field0,
o28479Field1)))
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296))) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)),
o28296)),
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28735Field0,
o28735Field1)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1))))) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))),
java.lang.Object(
Tree(
o28620Field0,
o28620Field1)))
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL))) →
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR8(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
o25587)),
java.lang.Object(
Tree(
o28325,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
o25585new)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
Tree(
NULL,
o25587))) →
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
NULL,
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR9(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)),
java.lang.Object(
java.lang.String(
i3403))) →
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o25587)))
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
Tree(
o25586,
NULL))) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
NULL)),
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i3404))) →
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104,
java.lang.Object(
Tree(
o25586,
java.lang.Object(
Tree(
NULL,
NULL)))))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9)))),
java.lang.Object(
java.lang.String(
x10)))
Inc20602(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)))
JMP20418(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x5,
x6)),
x7)),
java.lang.Object(
java.lang.String(
x8)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8)))
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x7,
x8)),
x9)),
java.lang.Object(
java.lang.String(
x10)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
x6,
x7)))),
java.lang.Object(
java.lang.String(
x8)))
JMP20531(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)))
Load15508ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
x6)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x8)))
Load15508ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
Tree(
x5,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x6)))
(17) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load15508(x1, x2, x3, x4, x5, x6) → Load15508(x1, x2, x3, x4)
Tree(x1, x2) → Tree
Cond_Load15508(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15508(x1, x2, x3, x4, x5)
Inc18057(x1, x2, x3, x4, x5, x6) → Inc18057(x1, x2, x3, x4)
Load15508ARR3(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR3(x1, x2, x3, x4, x7)
Cond_Load15508ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR3(x1, x2, x3, x4, x5, x8)
Inc20602(x1, x2, x3, x4, x5) → Inc20602(x1, x2, x3, x4)
JMP20418(x1, x2, x3, x4, x5) → JMP20418(x1, x2, x3, x4)
Load15508ARR4(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR4(x1, x2, x3, x4, x7)
Cond_Load15508ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR4(x1, x2, x3, x4, x5, x8)
Load15508ARR5(x1, x2, x3, x4, x5, x6) → Load15508ARR5(x1, x2, x3, x4, x6)
Cond_Load15508ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15508ARR5(x1, x2, x3, x4, x5, x7)
JMP17958(x1, x2, x3, x4, x5, x6) → JMP17958(x1, x2, x3, x4)
Load15508ARR6(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR6(x1, x2, x3, x4, x7)
Cond_Load15508ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR6(x1, x2, x3, x4, x5, x8)
Load15508ARR7(x1, x2, x3, x4, x5, x6) → Load15508ARR7(x1, x2, x3, x4, x6)
Cond_Load15508ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15508ARR7(x1, x2, x3, x4, x5, x7)
JMP20531(x1, x2, x3, x4, x5) → JMP20531(x1, x2, x3, x4)
Load15508ARR8(x1, x2, x3, x4, x5, x6, x7) → Load15508ARR8(x1, x2, x3, x4, x7)
Cond_Load15508ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load15508ARR8(x1, x2, x3, x4, x5, x8)
Load15508ARR9(x1, x2, x3, x4, x5, x6) → Load15508ARR9(x1, x2, x3, x4, x6)
Cond_Load15508ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15508ARR9(x1, x2, x3, x4, x5, x7)
Load15508ARR10(x1, x2, x3, x4, x5, x6) → Load15508ARR10(x1, x2, x3, x4, x6)
Cond_Load15508ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15508ARR10(x1, x2, x3, x4, x5, x7)
(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:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120)
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1)
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR8(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR8(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Inc20602(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR9(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR9(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
JMP20418(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
JMP20531(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Inc20602(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
JMP20418(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP20531(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(19) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Inc18057, Inc20602, JMP20418 | > | Inc18057_4 |
Load15508ARR7, Load15508ARR8 | > | Load15508ARR7_5 |
Load15508ARR6, Load15508ARR9 | > | Load15508ARR6_5 |
Cond_Load15508ARR6, Cond_Load15508ARR9 | > | Cond_Load15508ARR6_6 |
JMP17958, JMP20531 | > | JMP17958_4 |
Cond_Load15508ARR7, Cond_Load15508ARR8 | > | Cond_Load15508ARR7_6 |
(20) 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:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120)
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(21) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(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
The ITRS R consists of the following rules:
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Load1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Cond_Load1577ARR1(
i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Cond_Load15508(
i3105 <= 0 && i71 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
Load1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71 + -1)
Load1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Load1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Cond_Load1577ARR2(
!(
i120 = 0)
&& i65 > 0 && i65 < i4 && i71 > 0 && i65 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65 + 1,
i71,
i120)
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR3(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR4(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104 + -1)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR5(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Load15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Cond_Load15508ARR6(
i3403 > 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR7(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Inc18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
Load15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Load15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
Cond_Load15508ARR10(
i3404 <= 0 && i3085 > 0 && i3085 < i4 && i3104 > 0 && i3085 + 1 > 0,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
JMP17958(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085 + 1,
i71,
i3104)
The integer pair graph contains the following rules and edges:
(0):
LOAD1577(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0]) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0])
(1):
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1]) →
COND_LOAD1577ARR1(
i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0,
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1])
(2):
COND_LOAD1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2],
i71[2]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2] + 1,
i71[2] + -1)
(3):
LOAD15508(
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3]) →
COND_LOAD15508(
i3105[3] <= 0 && i71[3] > 0,
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3])
(4):
COND_LOAD15508(
TRUE,
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4],
i3105[4]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4] + -1)
(5):
LOAD1577(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5]) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5],
java.lang.Object(
java.lang.String(
i120[5])))
(6):
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6]))) →
COND_LOAD1577ARR2(
!(
i120[6] = 0)
&& i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0,
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6])))
(7):
COND_LOAD1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7],
i71[7],
java.lang.Object(
java.lang.String(
i120[7]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7] + 1,
i71[7],
i120[7])
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(0) -> (1), if ((i65[0] →* i65[1])∧(i71[0] →* i71[1])∧(java.lang.Object(ARRAY(i4[0], a1938data[0])) →* java.lang.Object(ARRAY(i4[1], a1938data[1]))))
(1) -> (2), if ((i71[1] →* i71[2])∧(i65[1] →* i65[2])∧(java.lang.Object(ARRAY(i4[1], a1938data[1])) →* java.lang.Object(ARRAY(i4[2], a1938data[2])))∧(i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i65[2] + 1 →* i65[0])∧(java.lang.Object(ARRAY(i4[2], a1938data[2])) →* java.lang.Object(ARRAY(i4[0], a1938data[0])))∧(i71[2] + -1 →* i71[0]))
(2) -> (5), if ((java.lang.Object(ARRAY(i4[2], a1938data[2])) →* java.lang.Object(ARRAY(i4[5], a1938data[5])))∧(i65[2] + 1 →* i65[5])∧(i71[2] + -1 →* i71[5]))
(3) -> (4), if ((i3085[3] →* i3085[4])∧(java.lang.Object(ARRAY(i4[3], a30817data[3])) →* java.lang.Object(ARRAY(i4[4], a30817data[4])))∧(i3105[3] →* i3105[4])∧(i71[3] →* i71[4])∧(i3105[3] <= 0 && i71[3] > 0 →* TRUE))
(4) -> (0), if ((i3085[4] →* i65[0])∧(i71[4] + -1 →* i71[0])∧(java.lang.Object(ARRAY(i4[4], a30817data[4])) →* java.lang.Object(ARRAY(i4[0], a1938data[0]))))
(4) -> (5), if ((java.lang.Object(ARRAY(i4[4], a30817data[4])) →* java.lang.Object(ARRAY(i4[5], a1938data[5])))∧(i71[4] + -1 →* i71[5])∧(i3085[4] →* i65[5]))
(5) -> (6), if ((i65[5] →* i65[6])∧(i71[5] →* i71[6])∧(java.lang.Object(ARRAY(i4[5], a1938data[5])) →* java.lang.Object(ARRAY(i4[6], a1938data[6])))∧(java.lang.Object(java.lang.String(i120[5])) →* java.lang.Object(java.lang.String(i120[6]))))
(6) -> (7), if ((!(i120[6] = 0) && i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0 →* TRUE)∧(i65[6] →* i65[7])∧(i71[6] →* i71[7])∧(java.lang.Object(ARRAY(i4[6], a1938data[6])) →* java.lang.Object(ARRAY(i4[7], a1938data[7])))∧(java.lang.Object(java.lang.String(i120[6])) →* java.lang.Object(java.lang.String(i120[7]))))
(7) -> (3), if ((i120[7] →* i3105[3])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i65[7] + 1 →* i3085[3])∧(i71[7] →* i71[3]))
(7) -> (9), if ((i71[7] →* i71[9])∧(i65[7] + 1 →* i3085[9])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i120[7] →* i3104[9]))
(7) -> (12), if ((i65[7] + 1 →* i3085[12])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i71[7] →* i71[12])∧(i120[7] →* i3104[12]))
(7) -> (15), if ((i71[7] →* i71[15])∧(i65[7] + 1 →* i3085[15])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i120[7] →* i3104[15]))
(7) -> (19), if ((i71[7] →* i71[19])∧(i65[7] + 1 →* i3085[19])∧(i120[7] →* i3104[19])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[19], a30817data[19]))))
(7) -> (22), if ((java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i120[7] →* i3104[22])∧(i65[7] + 1 →* i3085[22])∧(i71[7] →* i71[22]))
(7) -> (25), if ((i65[7] + 1 →* i3085[25])∧(i71[7] →* i71[25])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i120[7] →* i3104[25]))
(8) -> (3), if ((i71[8] →* i71[3])∧(i3158[8] →* i3085[3])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3104[8] + -1 →* i3105[3]))
(8) -> (9), if ((java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[8] + -1 →* i3104[12]))
(8) -> (15), if ((java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[19], a30817data[19])))∧(i71[8] →* i71[19]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[22], a30817data[22]))))
(8) -> (25), if ((i71[8] →* i71[25])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧(java.lang.Object(ARRAY(i4[9], a30817data[9])) →* java.lang.Object(ARRAY(i4[10], a30817data[10])))∧(java.lang.Object(java.lang.String(i3404[9])) →* java.lang.Object(java.lang.String(i3404[10]))))
(10) -> (11), if ((i3085[10] →* i3085[11])∧(java.lang.Object(ARRAY(i4[10], a30817data[10])) →* java.lang.Object(ARRAY(i4[11], a30817data[11])))∧(i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i3404[10])) →* java.lang.Object(java.lang.String(i3404[11])))∧(i3104[10] →* i3104[11])∧(i71[10] →* i71[11]))
(11) -> (3), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3085[11] + 1 →* i3085[3])∧(i3104[11] + -1 →* i3105[3])∧(i71[11] →* i71[3]))
(11) -> (9), if ((i71[11] →* i71[9])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[11] + -1 →* i3104[12]))
(11) -> (15), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[19], a30817data[19])))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(11) -> (22), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i71[11] →* i71[25]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i3403[12])) →* java.lang.Object(java.lang.String(i3403[13])))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧(java.lang.Object(ARRAY(i4[12], a30817data[12])) →* java.lang.Object(ARRAY(i4[13], a30817data[13]))))
(13) -> (14), if ((i71[13] →* i71[14])∧(i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0 →* TRUE)∧(i3104[13] →* i3104[14])∧(java.lang.Object(java.lang.String(i3403[13])) →* java.lang.Object(java.lang.String(i3403[14])))∧(i3085[13] →* i3085[14])∧(java.lang.Object(ARRAY(i4[13], a30817data[13])) →* java.lang.Object(ARRAY(i4[14], a30817data[14]))))
(14) -> (3), if ((i3104[14] + -1 →* i3105[3])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3085[14] + 1 →* i3085[3])∧(i71[14] →* i71[3]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[9], a30817data[9]))))
(14) -> (12), if ((java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[15], a30817data[15]))))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[19], a30817data[19]))))
(14) -> (22), if ((i71[14] →* i71[22])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(14) -> (25), if ((java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧(java.lang.Object(java.lang.String(i3403[15])) →* java.lang.Object(java.lang.String(i3403[16])))∧(java.lang.Object(ARRAY(i4[15], a30817data[15])) →* java.lang.Object(ARRAY(i4[16], a30817data[16]))))
(16) -> (17), if ((i3104[16] →* i3104[17])∧(java.lang.Object(ARRAY(i4[16], a30817data[16])) →* java.lang.Object(ARRAY(i4[17], a30817data[17])))∧(java.lang.Object(java.lang.String(i3403[16])) →* java.lang.Object(java.lang.String(i3403[17])))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧(java.lang.Object(ARRAY(i4[17], a30817data[17])) →* java.lang.Object(ARRAY(i4[18], a30817data[18])))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(18) -> (8), if ((java.lang.Object(ARRAY(i4[18], a30817data[18])) →* java.lang.Object(ARRAY(i4[8], a30817data[8])))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(19) -> (20), if ((i3085[19] →* i3085[20])∧(java.lang.Object(java.lang.String(i3403[19])) →* java.lang.Object(java.lang.String(i3403[20])))∧(i3104[19] →* i3104[20])∧(java.lang.Object(ARRAY(i4[19], a30817data[19])) →* java.lang.Object(ARRAY(i4[20], a30817data[20])))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧(java.lang.Object(java.lang.String(i3403[20])) →* java.lang.Object(java.lang.String(i3403[21])))∧(java.lang.Object(ARRAY(i4[20], a30817data[20])) →* java.lang.Object(ARRAY(i4[21], a30817data[21])))∧(i3085[20] →* i3085[21]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧(java.lang.Object(ARRAY(i4[21], a30817data[21])) →* java.lang.Object(ARRAY(i4[8], a30817data[8])))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(22) -> (23), if ((java.lang.Object(java.lang.String(i3404[22])) →* java.lang.Object(java.lang.String(i3404[23])))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧(java.lang.Object(ARRAY(i4[22], a30817data[22])) →* java.lang.Object(ARRAY(i4[23], a30817data[23]))))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧(java.lang.Object(java.lang.String(i3404[23])) →* java.lang.Object(java.lang.String(i3404[24])))∧(i71[23] →* i71[24])∧(java.lang.Object(ARRAY(i4[23], a30817data[23])) →* java.lang.Object(ARRAY(i4[24], a30817data[24])))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧(java.lang.Object(ARRAY(i4[24], a30817data[24])) →* java.lang.Object(ARRAY(i4[8], a30817data[8]))))
(25) -> (26), if ((i71[25] →* i71[26])∧(java.lang.Object(java.lang.String(i3404[25])) →* java.lang.Object(java.lang.String(i3404[26])))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧(java.lang.Object(ARRAY(i4[25], a30817data[25])) →* java.lang.Object(ARRAY(i4[26], a30817data[26]))))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧(java.lang.Object(ARRAY(i4[26], a30817data[26])) →* java.lang.Object(ARRAY(i4[27], a30817data[27])))∧(i71[26] →* i71[27])∧(java.lang.Object(java.lang.String(i3404[26])) →* java.lang.Object(java.lang.String(i3404[27])))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
(27) -> (18), if ((java.lang.Object(ARRAY(i4[27], a30817data[27])) →* java.lang.Object(ARRAY(i4[18], a30817data[18])))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(23) 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.
(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):
LOAD1577(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0]) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0])
(1):
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1]) →
COND_LOAD1577ARR1(
i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0,
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1])
(2):
COND_LOAD1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2],
i71[2]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2] + 1,
i71[2] + -1)
(3):
LOAD15508(
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3]) →
COND_LOAD15508(
i3105[3] <= 0 && i71[3] > 0,
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3])
(4):
COND_LOAD15508(
TRUE,
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4],
i3105[4]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4] + -1)
(5):
LOAD1577(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5]) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5],
java.lang.Object(
java.lang.String(
i120[5])))
(6):
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6]))) →
COND_LOAD1577ARR2(
!(
i120[6] = 0)
&& i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0,
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6])))
(7):
COND_LOAD1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7],
i71[7],
java.lang.Object(
java.lang.String(
i120[7]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7] + 1,
i71[7],
i120[7])
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(0) -> (1), if ((i65[0] →* i65[1])∧(i71[0] →* i71[1])∧(java.lang.Object(ARRAY(i4[0], a1938data[0])) →* java.lang.Object(ARRAY(i4[1], a1938data[1]))))
(1) -> (2), if ((i71[1] →* i71[2])∧(i65[1] →* i65[2])∧(java.lang.Object(ARRAY(i4[1], a1938data[1])) →* java.lang.Object(ARRAY(i4[2], a1938data[2])))∧(i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i65[2] + 1 →* i65[0])∧(java.lang.Object(ARRAY(i4[2], a1938data[2])) →* java.lang.Object(ARRAY(i4[0], a1938data[0])))∧(i71[2] + -1 →* i71[0]))
(2) -> (5), if ((java.lang.Object(ARRAY(i4[2], a1938data[2])) →* java.lang.Object(ARRAY(i4[5], a1938data[5])))∧(i65[2] + 1 →* i65[5])∧(i71[2] + -1 →* i71[5]))
(3) -> (4), if ((i3085[3] →* i3085[4])∧(java.lang.Object(ARRAY(i4[3], a30817data[3])) →* java.lang.Object(ARRAY(i4[4], a30817data[4])))∧(i3105[3] →* i3105[4])∧(i71[3] →* i71[4])∧(i3105[3] <= 0 && i71[3] > 0 →* TRUE))
(4) -> (0), if ((i3085[4] →* i65[0])∧(i71[4] + -1 →* i71[0])∧(java.lang.Object(ARRAY(i4[4], a30817data[4])) →* java.lang.Object(ARRAY(i4[0], a1938data[0]))))
(4) -> (5), if ((java.lang.Object(ARRAY(i4[4], a30817data[4])) →* java.lang.Object(ARRAY(i4[5], a1938data[5])))∧(i71[4] + -1 →* i71[5])∧(i3085[4] →* i65[5]))
(5) -> (6), if ((i65[5] →* i65[6])∧(i71[5] →* i71[6])∧(java.lang.Object(ARRAY(i4[5], a1938data[5])) →* java.lang.Object(ARRAY(i4[6], a1938data[6])))∧(java.lang.Object(java.lang.String(i120[5])) →* java.lang.Object(java.lang.String(i120[6]))))
(6) -> (7), if ((!(i120[6] = 0) && i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0 →* TRUE)∧(i65[6] →* i65[7])∧(i71[6] →* i71[7])∧(java.lang.Object(ARRAY(i4[6], a1938data[6])) →* java.lang.Object(ARRAY(i4[7], a1938data[7])))∧(java.lang.Object(java.lang.String(i120[6])) →* java.lang.Object(java.lang.String(i120[7]))))
(7) -> (3), if ((i120[7] →* i3105[3])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i65[7] + 1 →* i3085[3])∧(i71[7] →* i71[3]))
(7) -> (9), if ((i71[7] →* i71[9])∧(i65[7] + 1 →* i3085[9])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i120[7] →* i3104[9]))
(7) -> (12), if ((i65[7] + 1 →* i3085[12])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i71[7] →* i71[12])∧(i120[7] →* i3104[12]))
(7) -> (15), if ((i71[7] →* i71[15])∧(i65[7] + 1 →* i3085[15])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i120[7] →* i3104[15]))
(7) -> (19), if ((i71[7] →* i71[19])∧(i65[7] + 1 →* i3085[19])∧(i120[7] →* i3104[19])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[19], a30817data[19]))))
(7) -> (22), if ((java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i120[7] →* i3104[22])∧(i65[7] + 1 →* i3085[22])∧(i71[7] →* i71[22]))
(7) -> (25), if ((i65[7] + 1 →* i3085[25])∧(i71[7] →* i71[25])∧(java.lang.Object(ARRAY(i4[7], a1938data[7])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i120[7] →* i3104[25]))
(8) -> (3), if ((i71[8] →* i71[3])∧(i3158[8] →* i3085[3])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3104[8] + -1 →* i3105[3]))
(8) -> (9), if ((java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[8] + -1 →* i3104[12]))
(8) -> (15), if ((java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[19], a30817data[19])))∧(i71[8] →* i71[19]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[22], a30817data[22]))))
(8) -> (25), if ((i71[8] →* i71[25])∧(java.lang.Object(ARRAY(i4[8], a30817data[8])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧(java.lang.Object(ARRAY(i4[9], a30817data[9])) →* java.lang.Object(ARRAY(i4[10], a30817data[10])))∧(java.lang.Object(java.lang.String(i3404[9])) →* java.lang.Object(java.lang.String(i3404[10]))))
(10) -> (11), if ((i3085[10] →* i3085[11])∧(java.lang.Object(ARRAY(i4[10], a30817data[10])) →* java.lang.Object(ARRAY(i4[11], a30817data[11])))∧(i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i3404[10])) →* java.lang.Object(java.lang.String(i3404[11])))∧(i3104[10] →* i3104[11])∧(i71[10] →* i71[11]))
(11) -> (3), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3085[11] + 1 →* i3085[3])∧(i3104[11] + -1 →* i3105[3])∧(i71[11] →* i71[3]))
(11) -> (9), if ((i71[11] →* i71[9])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[9], a30817data[9])))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[11] + -1 →* i3104[12]))
(11) -> (15), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[15], a30817data[15])))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[19], a30817data[19])))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(11) -> (22), if ((java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧(java.lang.Object(ARRAY(i4[11], a30817data[11])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i71[11] →* i71[25]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i3403[12])) →* java.lang.Object(java.lang.String(i3403[13])))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧(java.lang.Object(ARRAY(i4[12], a30817data[12])) →* java.lang.Object(ARRAY(i4[13], a30817data[13]))))
(13) -> (14), if ((i71[13] →* i71[14])∧(i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0 →* TRUE)∧(i3104[13] →* i3104[14])∧(java.lang.Object(java.lang.String(i3403[13])) →* java.lang.Object(java.lang.String(i3403[14])))∧(i3085[13] →* i3085[14])∧(java.lang.Object(ARRAY(i4[13], a30817data[13])) →* java.lang.Object(ARRAY(i4[14], a30817data[14]))))
(14) -> (3), if ((i3104[14] + -1 →* i3105[3])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[3], a30817data[3])))∧(i3085[14] + 1 →* i3085[3])∧(i71[14] →* i71[3]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[9], a30817data[9]))))
(14) -> (12), if ((java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[12], a30817data[12])))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[15], a30817data[15]))))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[19], a30817data[19]))))
(14) -> (22), if ((i71[14] →* i71[22])∧(java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[22], a30817data[22])))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(14) -> (25), if ((java.lang.Object(ARRAY(i4[14], a30817data[14])) →* java.lang.Object(ARRAY(i4[25], a30817data[25])))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧(java.lang.Object(java.lang.String(i3403[15])) →* java.lang.Object(java.lang.String(i3403[16])))∧(java.lang.Object(ARRAY(i4[15], a30817data[15])) →* java.lang.Object(ARRAY(i4[16], a30817data[16]))))
(16) -> (17), if ((i3104[16] →* i3104[17])∧(java.lang.Object(ARRAY(i4[16], a30817data[16])) →* java.lang.Object(ARRAY(i4[17], a30817data[17])))∧(java.lang.Object(java.lang.String(i3403[16])) →* java.lang.Object(java.lang.String(i3403[17])))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧(java.lang.Object(ARRAY(i4[17], a30817data[17])) →* java.lang.Object(ARRAY(i4[18], a30817data[18])))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(18) -> (8), if ((java.lang.Object(ARRAY(i4[18], a30817data[18])) →* java.lang.Object(ARRAY(i4[8], a30817data[8])))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(19) -> (20), if ((i3085[19] →* i3085[20])∧(java.lang.Object(java.lang.String(i3403[19])) →* java.lang.Object(java.lang.String(i3403[20])))∧(i3104[19] →* i3104[20])∧(java.lang.Object(ARRAY(i4[19], a30817data[19])) →* java.lang.Object(ARRAY(i4[20], a30817data[20])))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧(java.lang.Object(java.lang.String(i3403[20])) →* java.lang.Object(java.lang.String(i3403[21])))∧(java.lang.Object(ARRAY(i4[20], a30817data[20])) →* java.lang.Object(ARRAY(i4[21], a30817data[21])))∧(i3085[20] →* i3085[21]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧(java.lang.Object(ARRAY(i4[21], a30817data[21])) →* java.lang.Object(ARRAY(i4[8], a30817data[8])))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(22) -> (23), if ((java.lang.Object(java.lang.String(i3404[22])) →* java.lang.Object(java.lang.String(i3404[23])))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧(java.lang.Object(ARRAY(i4[22], a30817data[22])) →* java.lang.Object(ARRAY(i4[23], a30817data[23]))))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧(java.lang.Object(java.lang.String(i3404[23])) →* java.lang.Object(java.lang.String(i3404[24])))∧(i71[23] →* i71[24])∧(java.lang.Object(ARRAY(i4[23], a30817data[23])) →* java.lang.Object(ARRAY(i4[24], a30817data[24])))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧(java.lang.Object(ARRAY(i4[24], a30817data[24])) →* java.lang.Object(ARRAY(i4[8], a30817data[8]))))
(25) -> (26), if ((i71[25] →* i71[26])∧(java.lang.Object(java.lang.String(i3404[25])) →* java.lang.Object(java.lang.String(i3404[26])))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧(java.lang.Object(ARRAY(i4[25], a30817data[25])) →* java.lang.Object(ARRAY(i4[26], a30817data[26]))))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧(java.lang.Object(ARRAY(i4[26], a30817data[26])) →* java.lang.Object(ARRAY(i4[27], a30817data[27])))∧(i71[26] →* i71[27])∧(java.lang.Object(java.lang.String(i3404[26])) →* java.lang.Object(java.lang.String(i3404[27])))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
(27) -> (18), if ((java.lang.Object(ARRAY(i4[27], a30817data[27])) →* java.lang.Object(ARRAY(i4[18], a30817data[18])))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(25) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(26) 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):
LOAD1577(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0]) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0])
(1):
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1]) →
COND_LOAD1577ARR1(
i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0,
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1])
(2):
COND_LOAD1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2],
i71[2]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2] + 1,
i71[2] + -1)
(3):
LOAD15508(
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3]) →
COND_LOAD15508(
i3105[3] <= 0 && i71[3] > 0,
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3])
(4):
COND_LOAD15508(
TRUE,
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4],
i3105[4]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4] + -1)
(5):
LOAD1577(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5]) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5],
java.lang.Object(
java.lang.String(
i120[5])))
(6):
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6]))) →
COND_LOAD1577ARR2(
!(
i120[6] = 0)
&& i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0,
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6])))
(7):
COND_LOAD1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7],
i71[7],
java.lang.Object(
java.lang.String(
i120[7]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7] + 1,
i71[7],
i120[7])
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(0) -> (1), if ((i65[0] →* i65[1])∧(i71[0] →* i71[1])∧((i4[0] →* i4[1])∧(a1938data[0] →* a1938data[1])))
(1) -> (2), if ((i71[1] →* i71[2])∧(i65[1] →* i65[2])∧((i4[1] →* i4[2])∧(a1938data[1] →* a1938data[2]))∧(i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0 →* TRUE))
(2) -> (0), if ((i65[2] + 1 →* i65[0])∧((i4[2] →* i4[0])∧(a1938data[2] →* a1938data[0]))∧(i71[2] + -1 →* i71[0]))
(2) -> (5), if (((i4[2] →* i4[5])∧(a1938data[2] →* a1938data[5]))∧(i65[2] + 1 →* i65[5])∧(i71[2] + -1 →* i71[5]))
(3) -> (4), if ((i3085[3] →* i3085[4])∧((i4[3] →* i4[4])∧(a30817data[3] →* a30817data[4]))∧(i3105[3] →* i3105[4])∧(i71[3] →* i71[4])∧(i3105[3] <= 0 && i71[3] > 0 →* TRUE))
(4) -> (0), if ((i3085[4] →* i65[0])∧(i71[4] + -1 →* i71[0])∧((i4[4] →* i4[0])∧(a30817data[4] →* a1938data[0])))
(4) -> (5), if (((i4[4] →* i4[5])∧(a30817data[4] →* a1938data[5]))∧(i71[4] + -1 →* i71[5])∧(i3085[4] →* i65[5]))
(5) -> (6), if ((i65[5] →* i65[6])∧(i71[5] →* i71[6])∧((i4[5] →* i4[6])∧(a1938data[5] →* a1938data[6]))∧((i120[5] →* i120[6])))
(6) -> (7), if ((!(i120[6] = 0) && i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0 →* TRUE)∧(i65[6] →* i65[7])∧(i71[6] →* i71[7])∧((i4[6] →* i4[7])∧(a1938data[6] →* a1938data[7]))∧((i120[6] →* i120[7])))
(7) -> (3), if ((i120[7] →* i3105[3])∧((i4[7] →* i4[3])∧(a1938data[7] →* a30817data[3]))∧(i65[7] + 1 →* i3085[3])∧(i71[7] →* i71[3]))
(7) -> (9), if ((i71[7] →* i71[9])∧(i65[7] + 1 →* i3085[9])∧((i4[7] →* i4[9])∧(a1938data[7] →* a30817data[9]))∧(i120[7] →* i3104[9]))
(7) -> (12), if ((i65[7] + 1 →* i3085[12])∧((i4[7] →* i4[12])∧(a1938data[7] →* a30817data[12]))∧(i71[7] →* i71[12])∧(i120[7] →* i3104[12]))
(7) -> (15), if ((i71[7] →* i71[15])∧(i65[7] + 1 →* i3085[15])∧((i4[7] →* i4[15])∧(a1938data[7] →* a30817data[15]))∧(i120[7] →* i3104[15]))
(7) -> (19), if ((i71[7] →* i71[19])∧(i65[7] + 1 →* i3085[19])∧(i120[7] →* i3104[19])∧((i4[7] →* i4[19])∧(a1938data[7] →* a30817data[19])))
(7) -> (22), if (((i4[7] →* i4[22])∧(a1938data[7] →* a30817data[22]))∧(i120[7] →* i3104[22])∧(i65[7] + 1 →* i3085[22])∧(i71[7] →* i71[22]))
(7) -> (25), if ((i65[7] + 1 →* i3085[25])∧(i71[7] →* i71[25])∧((i4[7] →* i4[25])∧(a1938data[7] →* a30817data[25]))∧(i120[7] →* i3104[25]))
(8) -> (3), if ((i71[8] →* i71[3])∧(i3158[8] →* i3085[3])∧((i4[8] →* i4[3])∧(a30817data[8] →* a30817data[3]))∧(i3104[8] + -1 →* i3105[3]))
(8) -> (9), if (((i4[8] →* i4[9])∧(a30817data[8] →* a30817data[9]))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧((i4[8] →* i4[12])∧(a30817data[8] →* a30817data[12]))∧(i3104[8] + -1 →* i3104[12]))
(8) -> (15), if (((i4[8] →* i4[15])∧(a30817data[8] →* a30817data[15]))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧((i4[8] →* i4[19])∧(a30817data[8] →* a30817data[19]))∧(i71[8] →* i71[19]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧((i4[8] →* i4[22])∧(a30817data[8] →* a30817data[22])))
(8) -> (25), if ((i71[8] →* i71[25])∧((i4[8] →* i4[25])∧(a30817data[8] →* a30817data[25]))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧((i4[9] →* i4[10])∧(a30817data[9] →* a30817data[10]))∧((i3404[9] →* i3404[10])))
(10) -> (11), if ((i3085[10] →* i3085[11])∧((i4[10] →* i4[11])∧(a30817data[10] →* a30817data[11]))∧(i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0 →* TRUE)∧((i3404[10] →* i3404[11]))∧(i3104[10] →* i3104[11])∧(i71[10] →* i71[11]))
(11) -> (3), if (((i4[11] →* i4[3])∧(a30817data[11] →* a30817data[3]))∧(i3085[11] + 1 →* i3085[3])∧(i3104[11] + -1 →* i3105[3])∧(i71[11] →* i71[3]))
(11) -> (9), if ((i71[11] →* i71[9])∧((i4[11] →* i4[9])∧(a30817data[11] →* a30817data[9]))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧((i4[11] →* i4[12])∧(a30817data[11] →* a30817data[12]))∧(i3104[11] + -1 →* i3104[12]))
(11) -> (15), if (((i4[11] →* i4[15])∧(a30817data[11] →* a30817data[15]))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧((i4[11] →* i4[19])∧(a30817data[11] →* a30817data[19]))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(11) -> (22), if (((i4[11] →* i4[22])∧(a30817data[11] →* a30817data[22]))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧((i4[11] →* i4[25])∧(a30817data[11] →* a30817data[25]))∧(i71[11] →* i71[25]))
(12) -> (13), if (((i3403[12] →* i3403[13]))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧((i4[12] →* i4[13])∧(a30817data[12] →* a30817data[13])))
(13) -> (14), if ((i71[13] →* i71[14])∧(i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0 →* TRUE)∧(i3104[13] →* i3104[14])∧((i3403[13] →* i3403[14]))∧(i3085[13] →* i3085[14])∧((i4[13] →* i4[14])∧(a30817data[13] →* a30817data[14])))
(14) -> (3), if ((i3104[14] + -1 →* i3105[3])∧((i4[14] →* i4[3])∧(a30817data[14] →* a30817data[3]))∧(i3085[14] + 1 →* i3085[3])∧(i71[14] →* i71[3]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧((i4[14] →* i4[9])∧(a30817data[14] →* a30817data[9])))
(14) -> (12), if (((i4[14] →* i4[12])∧(a30817data[14] →* a30817data[12]))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧((i4[14] →* i4[15])∧(a30817data[14] →* a30817data[15])))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧((i4[14] →* i4[19])∧(a30817data[14] →* a30817data[19])))
(14) -> (22), if ((i71[14] →* i71[22])∧((i4[14] →* i4[22])∧(a30817data[14] →* a30817data[22]))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(14) -> (25), if (((i4[14] →* i4[25])∧(a30817data[14] →* a30817data[25]))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧((i3403[15] →* i3403[16]))∧((i4[15] →* i4[16])∧(a30817data[15] →* a30817data[16])))
(16) -> (17), if ((i3104[16] →* i3104[17])∧((i4[16] →* i4[17])∧(a30817data[16] →* a30817data[17]))∧((i3403[16] →* i3403[17]))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧((i4[17] →* i4[18])∧(a30817data[17] →* a30817data[18]))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(18) -> (8), if (((i4[18] →* i4[8])∧(a30817data[18] →* a30817data[8]))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(19) -> (20), if ((i3085[19] →* i3085[20])∧((i3403[19] →* i3403[20]))∧(i3104[19] →* i3104[20])∧((i4[19] →* i4[20])∧(a30817data[19] →* a30817data[20]))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧((i3403[20] →* i3403[21]))∧((i4[20] →* i4[21])∧(a30817data[20] →* a30817data[21]))∧(i3085[20] →* i3085[21]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧((i4[21] →* i4[8])∧(a30817data[21] →* a30817data[8]))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(22) -> (23), if (((i3404[22] →* i3404[23]))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧((i4[22] →* i4[23])∧(a30817data[22] →* a30817data[23])))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧((i3404[23] →* i3404[24]))∧(i71[23] →* i71[24])∧((i4[23] →* i4[24])∧(a30817data[23] →* a30817data[24]))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧((i4[24] →* i4[8])∧(a30817data[24] →* a30817data[8])))
(25) -> (26), if ((i71[25] →* i71[26])∧((i3404[25] →* i3404[26]))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧((i4[25] →* i4[26])∧(a30817data[25] →* a30817data[26])))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧((i4[26] →* i4[27])∧(a30817data[26] →* a30817data[27]))∧(i71[26] →* i71[27])∧((i3404[26] →* i3404[27]))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
(27) -> (18), if (((i4[27] →* i4[18])∧(a30817data[27] →* a30817data[18]))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(27) 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
LOAD1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) the following chains were created:
- We consider the chain LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0]) → LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0]), LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]) → COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]) which results in the following constraint:
(1) (i65[0]=i65[1]∧i71[0]=i71[1]∧i4[0]=i4[1]∧a1938data[0]=a1938data[1] ⇒ LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])≥NonInfC∧LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])≥LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])∧(UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])≥NonInfC∧LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])≥LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])∧(UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
For Pair
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
COND_LOAD1577ARR1(
&&(
&&(
&&(
>(
i65,
0),
<(
i65,
i4)),
>(
i71,
0)),
>(
+(
i65,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) the following chains were created:
- We consider the chain LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]) → COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]), COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a1938data[2])), i65[2], i71[2]) → LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1)) which results in the following constraint:
(7) (i71[1]=i71[2]∧i65[1]=i65[2]∧i4[1]=i4[2]∧a1938data[1]=a1938data[2]∧&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0))=TRUE ⇒ LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])≥NonInfC∧LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])≥COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])∧(UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i65[1], 1), 0)=TRUE∧>(i71[1], 0)=TRUE∧>(i65[1], 0)=TRUE∧<(i65[1], i4[1])=TRUE ⇒ LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])≥NonInfC∧LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])≥COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])∧(UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i65[1] ≥ 0∧i71[1] + [-1] ≥ 0∧i65[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧[(-2)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i65[1] ≥ 0∧i71[1] + [-1] ≥ 0∧i65[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧[(-2)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i65[1] ≥ 0∧i71[1] + [-1] ≥ 0∧i65[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧[(-2)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i65[1] ≥ 0∧i71[1] + [-1] ≥ 0∧i65[1] + [-1] ≥ 0∧i4[1] + [-1] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧0 = 0∧[(-2)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i65[1] ≥ 0∧i71[1] + [-1] ≥ 0∧i65[1] ≥ 0∧i4[1] + [-2] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧0 = 0∧[(-3)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i65[1] ≥ 0∧i71[1] ≥ 0∧i65[1] ≥ 0∧i4[1] + [-2] + [-1]i65[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧0 = 0∧[(-2)bni_47 + (-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] + [(-1)bni_47]i65[1] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i65[1] ≥ 0∧i71[1] ≥ 0∧i65[1] ≥ 0∧i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧0 = 0∧[(-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)
For Pair
COND_LOAD1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
LOAD1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
+(
i65,
1),
+(
i71,
-1)) the following chains were created:
- We consider the chain COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a1938data[2])), i65[2], i71[2]) → LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1)) which results in the following constraint:
(16) (COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a1938data[2])), i65[2], i71[2])≥NonInfC∧COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a1938data[2])), i65[2], i71[2])≥LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))∧(UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥)∧[2 + (-1)bso_50] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥)∧[2 + (-1)bso_50] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥)∧[2 + (-1)bso_50] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_50] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
COND_LOAD15508(
&&(
<=(
i3105,
0),
>(
i71,
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3]) → COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3]), COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], i71[4], i3105[4]) → LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1)) which results in the following constraint:
(21) (i3085[3]=i3085[4]∧i4[3]=i4[4]∧a30817data[3]=a30817data[4]∧i3105[3]=i3105[4]∧i71[3]=i71[4]∧&&(<=(i3105[3], 0), >(i71[3], 0))=TRUE ⇒ LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])≥COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])∧(UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥))
We simplified constraint (21) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(22) (<=(i3105[3], 0)=TRUE∧>(i71[3], 0)=TRUE ⇒ LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])≥COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])∧(UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ([-1]i3105[3] ≥ 0∧i71[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] + [bni_51]i4[3] + [(-1)bni_51]i3085[3] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ([-1]i3105[3] ≥ 0∧i71[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] + [bni_51]i4[3] + [(-1)bni_51]i3085[3] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ([-1]i3105[3] ≥ 0∧i71[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] + [bni_51]i4[3] + [(-1)bni_51]i3085[3] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ([-1]i3105[3] ≥ 0∧i71[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧0 = 0∧[bni_51] = 0∧[(-1)bni_51] = 0∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (26) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(27) (i3105[3] ≥ 0∧i71[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧0 = 0∧[bni_51] = 0∧[(-1)bni_51] = 0∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (27) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(28) (i3105[3] ≥ 0∧i71[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧0 = 0∧[bni_51] = 0∧[(-1)bni_51] = 0∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
For Pair
COND_LOAD15508(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3105) →
LOAD1577(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
+(
i71,
-1)) the following chains were created:
- We consider the chain COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], i71[4], i3105[4]) → LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1)) which results in the following constraint:
(29) (COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], i71[4], i3105[4])≥NonInfC∧COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], i71[4], i3105[4])≥LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))∧(UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥))
We simplified constraint (29) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(30) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (30) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(31) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (31) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(32) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (32) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(33) ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)
For Pair
LOAD1577(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) the following chains were created:
- We consider the chain LOAD1577(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5]) → LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5]))) which results in the following constraint:
(34) (LOAD1577(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5])≥NonInfC∧LOAD1577(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5])≥LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))∧(UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥))
We simplified constraint (34) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(35) ((UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (35) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(36) ((UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (36) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(37) ((UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (37) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(38) ((UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)
For Pair
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
COND_LOAD1577ARR2(
&&(
&&(
&&(
&&(
!(
=(
i120,
0)),
>(
i65,
0)),
<(
i65,
i4)),
>(
i71,
0)),
>(
+(
i65,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) the following chains were created:
- We consider the chain LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6]))) → COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6]))), COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4[7], a1938data[7])), i65[7], i71[7], java.lang.Object(java.lang.String(i120[7]))) → LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7]) which results in the following constraint:
(39) (&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0))=TRUE∧i65[6]=i65[7]∧i71[6]=i71[7]∧i4[6]=i4[7]∧a1938data[6]=a1938data[7]∧i120[6]=i120[7] ⇒ LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥NonInfC∧LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))∧(UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥))
We simplified constraint (39) using rules (IV), (IDP_BOOLEAN) which results in the following new constraints:
(40) (>(+(i65[6], 1), 0)=TRUE∧>(i71[6], 0)=TRUE∧<(i65[6], i4[6])=TRUE∧>(i65[6], 0)=TRUE∧<(i120[6], 0)=TRUE ⇒ LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥NonInfC∧LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))∧(UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥))
(41) (>(+(i65[6], 1), 0)=TRUE∧>(i71[6], 0)=TRUE∧<(i65[6], i4[6])=TRUE∧>(i65[6], 0)=TRUE∧>(i120[6], 0)=TRUE ⇒ LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥NonInfC∧LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))≥COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))∧(UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥))
We simplified constraint (40) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(42) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(45) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(46) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (45) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(47) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (46) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(48) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (47) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(49) (i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-1] + [-1]i65[6] ≥ 0∧i65[6] + [-1] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (48) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(50) ([1] + i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-2] + [-1]i65[6] ≥ 0∧i65[6] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-3)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (50) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(51) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] + [-2] + [-1]i65[6] ≥ 0∧i65[6] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (51) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(52) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧[-1] + [-1]i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (52) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(53) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (49) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(54) ([1] + i65[6] ≥ 0∧i71[6] + [-1] ≥ 0∧i4[6] + [-2] + [-1]i65[6] ≥ 0∧i65[6] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-3)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (54) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(55) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] + [-2] + [-1]i65[6] ≥ 0∧i65[6] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] + [(-1)bni_57]i65[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (55) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(56) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧i120[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (56) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(57) ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
For Pair
COND_LOAD1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4,
a1938data)),
i65,
i71,
java.lang.Object(
java.lang.String(
i120))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a1938data)),
+(
i65,
1),
i71,
i120) the following chains were created:
- We consider the chain COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4[7], a1938data[7])), i65[7], i71[7], java.lang.Object(java.lang.String(i120[7]))) → LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7]) which results in the following constraint:
(58) (COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4[7], a1938data[7])), i65[7], i71[7], java.lang.Object(java.lang.String(i120[7])))≥NonInfC∧COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4[7], a1938data[7])), i65[7], i71[7], java.lang.Object(java.lang.String(i120[7])))≥LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥))
We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(59) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(60) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (60) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(61) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (61) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(62) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_60] ≥ 0)
For Pair
INC18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
+(
i3104,
-1)) the following chains were created:
- We consider the chain INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1)) which results in the following constraint:
(63) (INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8])≥NonInfC∧INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8])≥LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥))
We simplified constraint (63) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(64) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (64) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(65) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (65) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(66) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (66) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(67) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9]) → LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9]))) which results in the following constraint:
(68) (LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9])≥LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))∧(UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥))
We simplified constraint (68) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(69) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (69) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(70) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (70) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(71) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (71) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(72) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
For Pair
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
COND_LOAD15508ARR3(
&&(
&&(
&&(
&&(
<=(
i3404,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))), COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1)) which results in the following constraint:
(73) (i3085[10]=i3085[11]∧i4[10]=i4[11]∧a30817data[10]=a30817data[11]∧&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0))=TRUE∧i3404[10]=i3404[11]∧i3104[10]=i3104[11]∧i71[10]=i71[11] ⇒ LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥NonInfC∧LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))∧(UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥))
We simplified constraint (73) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(74) (>(+(i3085[10], 1), 0)=TRUE∧>(i3104[10], 0)=TRUE∧<(i3085[10], i4[10])=TRUE∧<=(i3404[10], 0)=TRUE∧>(i3085[10], 0)=TRUE ⇒ LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥NonInfC∧LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))∧(UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥))
We simplified constraint (74) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(75) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-2)bni_65 + (-1)Bound*bni_65] + [bni_65]i71[10] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (75) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(76) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-2)bni_65 + (-1)Bound*bni_65] + [bni_65]i71[10] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (76) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(77) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-2)bni_65 + (-1)Bound*bni_65] + [bni_65]i71[10] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (77) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(78) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-2)bni_65 + (-1)Bound*bni_65] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (78) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(79) ([1] + i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-2] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-3)bni_65 + (-1)Bound*bni_65] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (79) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(80) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] + [-2] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-3)bni_65 + (-1)Bound*bni_65] + [bni_65]i4[10] + [(-1)bni_65]i3085[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (80) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(81) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i4[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
We simplified constraint (81) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(82) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i4[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
For Pair
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
+(
i3104,
-1)) the following chains were created:
- We consider the chain COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1)) which results in the following constraint:
(83) (COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11])))≥NonInfC∧COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11])))≥LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥))
We simplified constraint (83) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(84) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_68] ≥ 0)
We simplified constraint (84) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(85) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_68] ≥ 0)
We simplified constraint (85) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(86) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_68] ≥ 0)
We simplified constraint (86) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(87) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_68] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12]) → LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12]))) which results in the following constraint:
(88) (LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12])≥LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))∧(UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥))
We simplified constraint (88) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(89) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_70] ≥ 0)
We simplified constraint (89) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(90) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_70] ≥ 0)
We simplified constraint (90) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(91) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_70] ≥ 0)
We simplified constraint (91) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(92) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
For Pair
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
COND_LOAD15508ARR4(
&&(
&&(
&&(
&&(
>(
i3403,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))), COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1)) which results in the following constraint:
(93) (i71[13]=i71[14]∧&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0))=TRUE∧i3104[13]=i3104[14]∧i3403[13]=i3403[14]∧i3085[13]=i3085[14]∧i4[13]=i4[14]∧a30817data[13]=a30817data[14] ⇒ LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥NonInfC∧LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))∧(UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥))
We simplified constraint (93) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(94) (>(+(i3085[13], 1), 0)=TRUE∧>(i3104[13], 0)=TRUE∧<(i3085[13], i4[13])=TRUE∧>(i3403[13], 0)=TRUE∧>(i3085[13], 0)=TRUE ⇒ LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥NonInfC∧LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))∧(UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥))
We simplified constraint (94) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(95) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-2)bni_71 + (-1)Bound*bni_71] + [bni_71]i71[13] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (95) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(96) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-2)bni_71 + (-1)Bound*bni_71] + [bni_71]i71[13] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (96) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(97) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-2)bni_71 + (-1)Bound*bni_71] + [bni_71]i71[13] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (97) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(98) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-2)bni_71 + (-1)Bound*bni_71] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (98) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(99) ([1] + i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-2] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-3)bni_71 + (-1)Bound*bni_71] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (99) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(100) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] + [-2] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-3)bni_71 + (-1)Bound*bni_71] + [bni_71]i4[13] + [(-1)bni_71]i3085[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (100) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(101) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-1)Bound*bni_71 + (-1)bni_71] + [bni_71]i4[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
We simplified constraint (101) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(102) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-1)Bound*bni_71 + (-1)bni_71] + [bni_71]i4[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
For Pair
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
+(
i3104,
-1)) the following chains were created:
- We consider the chain COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1)) which results in the following constraint:
(103) (COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14])))≥NonInfC∧COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14])))≥LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥))
We simplified constraint (103) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(104) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_74] ≥ 0)
We simplified constraint (104) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(105) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_74] ≥ 0)
We simplified constraint (105) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(106) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_74] ≥ 0)
We simplified constraint (106) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(107) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_74] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15]) → LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15]))) which results in the following constraint:
(108) (LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15])≥LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))∧(UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥))
We simplified constraint (108) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(109) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_76] ≥ 0)
We simplified constraint (109) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(110) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_76] ≥ 0)
We simplified constraint (110) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(111) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_76] ≥ 0)
We simplified constraint (111) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(112) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_76] ≥ 0)
For Pair
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
COND_LOAD15508ARR5(
&&(
&&(
&&(
&&(
>(
i3403,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))), COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17]) which results in the following constraint:
(113) (i3104[16]=i3104[17]∧i4[16]=i4[17]∧a30817data[16]=a30817data[17]∧i3403[16]=i3403[17]∧i3085[16]=i3085[17]∧&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0))=TRUE∧i71[16]=i71[17] ⇒ LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥NonInfC∧LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))∧(UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥))
We simplified constraint (113) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(114) (>(+(i3085[16], 1), 0)=TRUE∧>(i3104[16], 0)=TRUE∧<(i3085[16], i4[16])=TRUE∧>(i3403[16], 0)=TRUE∧>(i3085[16], 0)=TRUE ⇒ LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥NonInfC∧LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))∧(UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥))
We simplified constraint (114) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(115) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-2)bni_77 + (-1)Bound*bni_77] + [bni_77]i71[16] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (115) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(116) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-2)bni_77 + (-1)Bound*bni_77] + [bni_77]i71[16] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (116) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(117) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-2)bni_77 + (-1)Bound*bni_77] + [bni_77]i71[16] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (117) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(118) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-2)bni_77 + (-1)Bound*bni_77] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (118) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(119) ([1] + i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-2] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-3)bni_77 + (-1)Bound*bni_77] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (119) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(120) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] + [-2] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-3)bni_77 + (-1)Bound*bni_77] + [bni_77]i4[16] + [(-1)bni_77]i3085[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (120) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(121) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-1)Bound*bni_77 + (-1)bni_77] + [bni_77]i4[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
We simplified constraint (121) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(122) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-1)Bound*bni_77 + (-1)bni_77] + [bni_77]i4[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
For Pair
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
i3104) the following chains were created:
- We consider the chain COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17]) which results in the following constraint:
(123) (COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17])))≥NonInfC∧COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17])))≥JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])∧(UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥))
We simplified constraint (123) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(124) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[1 + (-1)bso_80] ≥ 0)
We simplified constraint (124) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(125) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[1 + (-1)bso_80] ≥ 0)
We simplified constraint (125) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(126) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[1 + (-1)bso_80] ≥ 0)
We simplified constraint (126) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(127) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_80] ≥ 0)
For Pair
JMP17958'(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) →
INC18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3158,
i71,
i3104) the following chains were created:
- We consider the chain JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]) → INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]), INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1)) which results in the following constraint:
(128) (i4[18]=i4[8]∧a30817data[18]=a30817data[8]∧i71[18]=i71[8]∧i3104[18]=i3104[8]∧i3158[18]=i3158[8] ⇒ JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥NonInfC∧JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥))
We simplified constraint (128) using rule (IV) which results in the following new constraint:
(129) (JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥NonInfC∧JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥))
We simplified constraint (129) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(130) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_82] ≥ 0)
We simplified constraint (130) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(131) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_82] ≥ 0)
We simplified constraint (131) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(132) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_82] ≥ 0)
We simplified constraint (132) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(133) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_82] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19]) → LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19]))) which results in the following constraint:
(134) (LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19])≥LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))∧(UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥))
We simplified constraint (134) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(135) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_84] ≥ 0)
We simplified constraint (135) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(136) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_84] ≥ 0)
We simplified constraint (136) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(137) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_84] ≥ 0)
We simplified constraint (137) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(138) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)
For Pair
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
COND_LOAD15508ARR6(
&&(
&&(
&&(
&&(
>(
i3403,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) the following chains were created:
- We consider the chain LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))), COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21]) which results in the following constraint:
(139) (&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0))=TRUE∧i3104[20]=i3104[21]∧i71[20]=i71[21]∧i3403[20]=i3403[21]∧i4[20]=i4[21]∧a30817data[20]=a30817data[21]∧i3085[20]=i3085[21] ⇒ LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥NonInfC∧LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))∧(UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥))
We simplified constraint (139) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(140) (>(+(i3085[20], 1), 0)=TRUE∧>(i3104[20], 0)=TRUE∧<(i3085[20], i4[20])=TRUE∧>(i3403[20], 0)=TRUE∧>(i3085[20], 0)=TRUE ⇒ LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥NonInfC∧LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))∧(UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥))
We simplified constraint (140) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(141) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-2)bni_85 + (-1)Bound*bni_85] + [bni_85]i71[20] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (141) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(142) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-2)bni_85 + (-1)Bound*bni_85] + [bni_85]i71[20] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (142) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(143) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-2)bni_85 + (-1)Bound*bni_85] + [bni_85]i71[20] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (143) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(144) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-2)bni_85 + (-1)Bound*bni_85] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (144) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(145) ([1] + i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-2] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-3)bni_85 + (-1)Bound*bni_85] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (145) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(146) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] + [-2] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-3)bni_85 + (-1)Bound*bni_85] + [(-1)bni_85]i3085[20] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (146) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(147) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-1)bni_85 + (-1)Bound*bni_85] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
We simplified constraint (147) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(148) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-1)bni_85 + (-1)Bound*bni_85] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
For Pair
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3403))) →
INC18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
i3104) the following chains were created:
- We consider the chain COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21]) which results in the following constraint:
(149) (COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21])))≥NonInfC∧COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21])))≥INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥))
We simplified constraint (149) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(150) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[1 + (-1)bso_88] ≥ 0)
We simplified constraint (150) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(151) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[1 + (-1)bso_88] ≥ 0)
We simplified constraint (151) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(152) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[1 + (-1)bso_88] ≥ 0)
We simplified constraint (152) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(153) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_88] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22]) → LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22]))) which results in the following constraint:
(154) (LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22])≥LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))∧(UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥))
We simplified constraint (154) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(155) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_90] ≥ 0)
We simplified constraint (155) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(156) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_90] ≥ 0)
We simplified constraint (156) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(157) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_90] ≥ 0)
We simplified constraint (157) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(158) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)
For Pair
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
COND_LOAD15508ARR7(
&&(
&&(
&&(
&&(
<=(
i3404,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))), COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24]) which results in the following constraint:
(159) (i3085[23]=i3085[24]∧i3104[23]=i3104[24]∧i3404[23]=i3404[24]∧i71[23]=i71[24]∧i4[23]=i4[24]∧a30817data[23]=a30817data[24]∧&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0))=TRUE ⇒ LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥NonInfC∧LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))∧(UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥))
We simplified constraint (159) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(160) (>(+(i3085[23], 1), 0)=TRUE∧>(i3104[23], 0)=TRUE∧<(i3085[23], i4[23])=TRUE∧<=(i3404[23], 0)=TRUE∧>(i3085[23], 0)=TRUE ⇒ LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥NonInfC∧LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))∧(UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥))
We simplified constraint (160) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(161) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-2)bni_91 + (-1)Bound*bni_91] + [bni_91]i71[23] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (161) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(162) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-2)bni_91 + (-1)Bound*bni_91] + [bni_91]i71[23] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (162) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(163) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-2)bni_91 + (-1)Bound*bni_91] + [bni_91]i71[23] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (163) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(164) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-2)bni_91 + (-1)Bound*bni_91] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (164) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(165) ([1] + i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-2] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-3)bni_91 + (-1)Bound*bni_91] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (165) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(166) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] + [-2] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-3)bni_91 + (-1)Bound*bni_91] + [(-1)bni_91]i3085[23] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (166) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(167) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-1)bni_91 + (-1)Bound*bni_91] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
We simplified constraint (167) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(168) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-1)bni_91 + (-1)Bound*bni_91] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
For Pair
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
INC18057(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
i3104) the following chains were created:
- We consider the chain COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24]) which results in the following constraint:
(169) (COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24])))≥NonInfC∧COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24])))≥INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥))
We simplified constraint (169) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(170) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[1 + (-1)bso_94] ≥ 0)
We simplified constraint (170) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(171) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[1 + (-1)bso_94] ≥ 0)
We simplified constraint (171) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(172) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[1 + (-1)bso_94] ≥ 0)
We simplified constraint (172) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(173) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_94] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25]) → LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25]))) which results in the following constraint:
(174) (LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25])≥LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))∧(UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥))
We simplified constraint (174) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(175) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_96] ≥ 0)
We simplified constraint (175) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(176) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_96] ≥ 0)
We simplified constraint (176) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(177) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_96] ≥ 0)
We simplified constraint (177) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(178) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)
For Pair
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
COND_LOAD15508ARR10(
&&(
&&(
&&(
&&(
<=(
i3404,
0),
>(
i3085,
0)),
<(
i3085,
i4)),
>(
i3104,
0)),
>(
+(
i3085,
1),
0)),
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) the following chains were created:
- We consider the chain LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))), COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27]) which results in the following constraint:
(179) (i3104[26]=i3104[27]∧i3085[26]=i3085[27]∧i4[26]=i4[27]∧a30817data[26]=a30817data[27]∧i71[26]=i71[27]∧i3404[26]=i3404[27]∧&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0))=TRUE ⇒ LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥NonInfC∧LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))∧(UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥))
We simplified constraint (179) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(180) (>(+(i3085[26], 1), 0)=TRUE∧>(i3104[26], 0)=TRUE∧<(i3085[26], i4[26])=TRUE∧<=(i3404[26], 0)=TRUE∧>(i3085[26], 0)=TRUE ⇒ LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥NonInfC∧LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))∧(UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥))
We simplified constraint (180) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(181) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-2)bni_97 + (-1)Bound*bni_97] + [bni_97]i71[26] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (181) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(182) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-2)bni_97 + (-1)Bound*bni_97] + [bni_97]i71[26] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (182) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(183) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-2)bni_97 + (-1)Bound*bni_97] + [bni_97]i71[26] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (183) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(184) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-2)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (184) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(185) ([1] + i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-2] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-3)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (185) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(186) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] + [-2] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-3)bni_97 + (-1)Bound*bni_97] + [(-1)bni_97]i3085[26] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (186) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(187) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
We simplified constraint (187) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(188) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
For Pair
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4,
a30817data)),
i3085,
i71,
i3104,
java.lang.Object(
java.lang.String(
i3404))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4,
a30817data)),
+(
i3085,
1),
i71,
i3104) the following chains were created:
- We consider the chain COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27]) which results in the following constraint:
(189) (COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27])))≥NonInfC∧COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27])))≥JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])∧(UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥))
We simplified constraint (189) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(190) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[1 + (-1)bso_100] ≥ 0)
We simplified constraint (190) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(191) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[1 + (-1)bso_100] ≥ 0)
We simplified constraint (191) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(192) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[1 + (-1)bso_100] ≥ 0)
We simplified constraint (192) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(193) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_100] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD1577(java.lang.Object(ARRAY(i4, a1938data)), i65, i71) → LOAD1577ARR1(java.lang.Object(ARRAY(i4, a1938data)), i65, i71)
- ((UIncreasing(LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
- LOAD1577ARR1(java.lang.Object(ARRAY(i4, a1938data)), i65, i71) → COND_LOAD1577ARR1(&&(&&(&&(>(i65, 0), <(i65, i4)), >(i71, 0)), >(+(i65, 1), 0)), java.lang.Object(ARRAY(i4, a1938data)), i65, i71)
- ([1] + i65[1] ≥ 0∧i71[1] ≥ 0∧i65[1] ≥ 0∧i4[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])), ≥)∧0 = 0∧[(-1)Bound*bni_47] + [bni_47]i71[1] + [bni_47]i4[1] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)
- COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4, a1938data)), i65, i71) → LOAD1577(java.lang.Object(ARRAY(i4, a1938data)), +(i65, 1), +(i71, -1))
- ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_50] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3105) → COND_LOAD15508(&&(<=(i3105, 0), >(i71, 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3105)
- (i3105[3] ≥ 0∧i71[3] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])), ≥)∧0 = 0∧[bni_51] = 0∧[(-1)bni_51] = 0∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i71[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
- COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3105) → LOAD1577(java.lang.Object(ARRAY(i4, a30817data)), i3085, +(i71, -1))
- ((UIncreasing(LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)
- LOAD1577(java.lang.Object(ARRAY(i4, a1938data)), i65, i71) → LOAD1577ARR2(java.lang.Object(ARRAY(i4, a1938data)), i65, i71, java.lang.Object(java.lang.String(i120)))
- ((UIncreasing(LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)
- LOAD1577ARR2(java.lang.Object(ARRAY(i4, a1938data)), i65, i71, java.lang.Object(java.lang.String(i120))) → COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120, 0)), >(i65, 0)), <(i65, i4)), >(i71, 0)), >(+(i65, 1), 0)), java.lang.Object(ARRAY(i4, a1938data)), i65, i71, java.lang.Object(java.lang.String(i120)))
- ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
- ([1] + i65[6] ≥ 0∧i71[6] ≥ 0∧i4[6] ≥ 0∧i65[6] ≥ 0∧i120[6] ≥ 0 ⇒ (UIncreasing(COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))), ≥)∧0 = 0∧[(-1)Bound*bni_57] + [bni_57]i71[6] + [bni_57]i4[6] ≥ 0∧0 = 0∧[(-1)bso_58] ≥ 0)
- COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4, a1938data)), i65, i71, java.lang.Object(java.lang.String(i120))) → LOAD15508(java.lang.Object(ARRAY(i4, a1938data)), +(i65, 1), i71, i120)
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_60] ≥ 0)
- INC18057(java.lang.Object(ARRAY(i4, a30817data)), i3158, i71, i3104) → LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3158, i71, +(i3104, -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR3(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
- LOAD15508ARR3(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[bni_65] = 0∧0 = 0∧[(-1)Bound*bni_65 + (-1)bni_65] + [bni_65]i4[10] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_66] ≥ 0)
- COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, +(i3104, -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_68] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR4(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
- LOAD15508ARR4(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[bni_71] = 0∧0 = 0∧[(-1)Bound*bni_71 + (-1)bni_71] + [bni_71]i4[13] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
- COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, +(i3104, -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_74] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR5(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_76] ≥ 0)
- LOAD15508ARR5(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[bni_77] = 0∧0 = 0∧[(-1)Bound*bni_77 + (-1)bni_77] + [bni_77]i4[16] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_78] ≥ 0)
- COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → JMP17958'(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, i3104)
- ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_80] ≥ 0)
- JMP17958'(java.lang.Object(ARRAY(i4, a30817data)), i3158, i71, i3104) → INC18057(java.lang.Object(ARRAY(i4, a30817data)), i3158, i71, i3104)
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_82] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR6(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_84] ≥ 0)
- LOAD15508ARR6(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403)))
- ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[bni_85] = 0∧0 = 0∧[(-1)bni_85 + (-1)Bound*bni_85] + [bni_85]i4[20] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_86] ≥ 0)
- COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3403))) → INC18057(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, i3104)
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_88] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR7(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_90] ≥ 0)
- LOAD15508ARR7(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[bni_91] = 0∧0 = 0∧[(-1)bni_91 + (-1)Bound*bni_91] + [bni_91]i4[23] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
- COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → INC18057(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, i3104)
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_94] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104) → LOAD15508ARR10(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_96] ≥ 0)
- LOAD15508ARR10(java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404, 0), >(i3085, 0)), <(i3085, i4)), >(i3104, 0)), >(+(i3085, 1), 0)), java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404)))
- ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[bni_97] = 0∧0 = 0∧[(-1)bni_97 + (-1)Bound*bni_97] + [bni_97]i4[26] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_98] ≥ 0)
- COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4, a30817data)), i3085, i71, i3104, java.lang.Object(java.lang.String(i3404))) → JMP17958'(java.lang.Object(ARRAY(i4, a30817data)), +(i3085, 1), i71, i3104)
- ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_100] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(LOAD1577(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [1] + [-1]x1
POL(LOAD1577ARR1(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD1577ARR1(x1, x2, x3, x4)) = [-1] + x4 + [-1]x2 + [-1]x3
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(LOAD15508(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD15508(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(<=(x1, x2)) = [-1]
POL(LOAD1577ARR2(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1)) = x1
POL(COND_LOAD1577ARR2(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(!(x1)) = [-1]
POL(=(x1, x2)) = [-1]
POL(INC18057(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(LOAD15508ARR3(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD15508ARR3(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(LOAD15508ARR4(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD15508ARR4(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(LOAD15508ARR5(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD15508ARR5(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(JMP17958'(x1, x2, x3, x4)) = [-1] + [-1]x2 + x3 + [-1]x1
POL(LOAD15508ARR6(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD15508ARR6(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD15508ARR7(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD15508ARR7(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD15508ARR10(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD15508ARR10(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
COND_LOAD1577ARR1(TRUE, java.lang.Object(ARRAY(i4[2], a1938data[2])), i65[2], i71[2]) → LOAD1577(java.lang.Object(ARRAY(i4[2], a1938data[2])), +(i65[2], 1), +(i71[2], -1))
COND_LOAD15508(TRUE, java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], i71[4], i3105[4]) → LOAD1577(java.lang.Object(ARRAY(i4[4], a30817data[4])), i3085[4], +(i71[4], -1))
COND_LOAD1577ARR2(TRUE, java.lang.Object(ARRAY(i4[7], a1938data[7])), i65[7], i71[7], java.lang.Object(java.lang.String(i120[7]))) → LOAD15508(java.lang.Object(ARRAY(i4[7], a1938data[7])), +(i65[7], 1), i71[7], i120[7])
COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))
COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))
COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])
COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])
COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])
COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])
The following pairs are in P
bound:
LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]) → COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])
LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6]))) → COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))
The following pairs are in P
≥:
LOAD1577(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0]) → LOAD1577ARR1(java.lang.Object(ARRAY(i4[0], a1938data[0])), i65[0], i71[0])
LOAD1577ARR1(java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1]) → COND_LOAD1577ARR1(&&(&&(&&(>(i65[1], 0), <(i65[1], i4[1])), >(i71[1], 0)), >(+(i65[1], 1), 0)), java.lang.Object(ARRAY(i4[1], a1938data[1])), i65[1], i71[1])
LOAD15508(java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3]) → COND_LOAD15508(&&(<=(i3105[3], 0), >(i71[3], 0)), java.lang.Object(ARRAY(i4[3], a30817data[3])), i3085[3], i71[3], i3105[3])
LOAD1577(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5]) → LOAD1577ARR2(java.lang.Object(ARRAY(i4[5], a1938data[5])), i65[5], i71[5], java.lang.Object(java.lang.String(i120[5])))
LOAD1577ARR2(java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6]))) → COND_LOAD1577ARR2(&&(&&(&&(&&(!(=(i120[6], 0)), >(i65[6], 0)), <(i65[6], i4[6])), >(i71[6], 0)), >(+(i65[6], 1), 0)), java.lang.Object(ARRAY(i4[6], a1938data[6])), i65[6], i71[6], java.lang.Object(java.lang.String(i120[6])))
INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))
LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9]) → LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))
LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))
LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12]) → LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))
LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))
LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15]) → LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))
LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))
JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]) → INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])
LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19]) → LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))
LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))
LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22]) → LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))
LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))
LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25]) → LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))
LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))
There are no usable rules.
(28) Complex Obligation (AND)
(29) 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):
LOAD1577(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0]) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0])
(1):
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1]) →
COND_LOAD1577ARR1(
i65[1] > 0 && i65[1] < i4[1] && i71[1] > 0 && i65[1] + 1 > 0,
java.lang.Object(
ARRAY(
i4[1],
a1938data[1])),
i65[1],
i71[1])
(3):
LOAD15508(
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3]) →
COND_LOAD15508(
i3105[3] <= 0 && i71[3] > 0,
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3])
(5):
LOAD1577(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5]) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5],
java.lang.Object(
java.lang.String(
i120[5])))
(6):
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6]))) →
COND_LOAD1577ARR2(
!(
i120[6] = 0)
&& i65[6] > 0 && i65[6] < i4[6] && i71[6] > 0 && i65[6] + 1 > 0,
java.lang.Object(
ARRAY(
i4[6],
a1938data[6])),
i65[6],
i71[6],
java.lang.Object(
java.lang.String(
i120[6])))
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(0) -> (1), if ((i65[0] →* i65[1])∧(i71[0] →* i71[1])∧((i4[0] →* i4[1])∧(a1938data[0] →* a1938data[1])))
(8) -> (3), if ((i71[8] →* i71[3])∧(i3158[8] →* i3085[3])∧((i4[8] →* i4[3])∧(a30817data[8] →* a30817data[3]))∧(i3104[8] + -1 →* i3105[3]))
(5) -> (6), if ((i65[5] →* i65[6])∧(i71[5] →* i71[6])∧((i4[5] →* i4[6])∧(a1938data[5] →* a1938data[6]))∧((i120[5] →* i120[6])))
(18) -> (8), if (((i4[18] →* i4[8])∧(a30817data[18] →* a30817data[8]))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(8) -> (9), if (((i4[8] →* i4[9])∧(a30817data[8] →* a30817data[9]))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧((i4[9] →* i4[10])∧(a30817data[9] →* a30817data[10]))∧((i3404[9] →* i3404[10])))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧((i4[8] →* i4[12])∧(a30817data[8] →* a30817data[12]))∧(i3104[8] + -1 →* i3104[12]))
(12) -> (13), if (((i3403[12] →* i3403[13]))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧((i4[12] →* i4[13])∧(a30817data[12] →* a30817data[13])))
(8) -> (15), if (((i4[8] →* i4[15])∧(a30817data[8] →* a30817data[15]))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧((i3403[15] →* i3403[16]))∧((i4[15] →* i4[16])∧(a30817data[15] →* a30817data[16])))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧((i4[8] →* i4[19])∧(a30817data[8] →* a30817data[19]))∧(i71[8] →* i71[19]))
(19) -> (20), if ((i3085[19] →* i3085[20])∧((i3403[19] →* i3403[20]))∧(i3104[19] →* i3104[20])∧((i4[19] →* i4[20])∧(a30817data[19] →* a30817data[20]))∧(i71[19] →* i71[20]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧((i4[8] →* i4[22])∧(a30817data[8] →* a30817data[22])))
(22) -> (23), if (((i3404[22] →* i3404[23]))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧((i4[22] →* i4[23])∧(a30817data[22] →* a30817data[23])))
(8) -> (25), if ((i71[8] →* i71[25])∧((i4[8] →* i4[25])∧(a30817data[8] →* a30817data[25]))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(25) -> (26), if ((i71[25] →* i71[26])∧((i3404[25] →* i3404[26]))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧((i4[25] →* i4[26])∧(a30817data[25] →* a30817data[26])))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(30) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 19 less nodes.
(31) TRUE
(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:
(0):
LOAD1577(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0]) →
LOAD1577ARR1(
java.lang.Object(
ARRAY(
i4[0],
a1938data[0])),
i65[0],
i71[0])
(2):
COND_LOAD1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2],
i71[2]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[2],
a1938data[2])),
i65[2] + 1,
i71[2] + -1)
(3):
LOAD15508(
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3]) →
COND_LOAD15508(
i3105[3] <= 0 && i71[3] > 0,
java.lang.Object(
ARRAY(
i4[3],
a30817data[3])),
i3085[3],
i71[3],
i3105[3])
(4):
COND_LOAD15508(
TRUE,
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4],
i3105[4]) →
LOAD1577(
java.lang.Object(
ARRAY(
i4[4],
a30817data[4])),
i3085[4],
i71[4] + -1)
(5):
LOAD1577(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5]) →
LOAD1577ARR2(
java.lang.Object(
ARRAY(
i4[5],
a1938data[5])),
i65[5],
i71[5],
java.lang.Object(
java.lang.String(
i120[5])))
(7):
COND_LOAD1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7],
i71[7],
java.lang.Object(
java.lang.String(
i120[7]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[7],
a1938data[7])),
i65[7] + 1,
i71[7],
i120[7])
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(2) -> (0), if ((i65[2] + 1 →* i65[0])∧((i4[2] →* i4[0])∧(a1938data[2] →* a1938data[0]))∧(i71[2] + -1 →* i71[0]))
(4) -> (0), if ((i3085[4] →* i65[0])∧(i71[4] + -1 →* i71[0])∧((i4[4] →* i4[0])∧(a30817data[4] →* a1938data[0])))
(7) -> (3), if ((i120[7] →* i3105[3])∧((i4[7] →* i4[3])∧(a1938data[7] →* a30817data[3]))∧(i65[7] + 1 →* i3085[3])∧(i71[7] →* i71[3]))
(8) -> (3), if ((i71[8] →* i71[3])∧(i3158[8] →* i3085[3])∧((i4[8] →* i4[3])∧(a30817data[8] →* a30817data[3]))∧(i3104[8] + -1 →* i3105[3]))
(11) -> (3), if (((i4[11] →* i4[3])∧(a30817data[11] →* a30817data[3]))∧(i3085[11] + 1 →* i3085[3])∧(i3104[11] + -1 →* i3105[3])∧(i71[11] →* i71[3]))
(14) -> (3), if ((i3104[14] + -1 →* i3105[3])∧((i4[14] →* i4[3])∧(a30817data[14] →* a30817data[3]))∧(i3085[14] + 1 →* i3085[3])∧(i71[14] →* i71[3]))
(3) -> (4), if ((i3085[3] →* i3085[4])∧((i4[3] →* i4[4])∧(a30817data[3] →* a30817data[4]))∧(i3105[3] →* i3105[4])∧(i71[3] →* i71[4])∧(i3105[3] <= 0 && i71[3] > 0 →* TRUE))
(2) -> (5), if (((i4[2] →* i4[5])∧(a1938data[2] →* a1938data[5]))∧(i65[2] + 1 →* i65[5])∧(i71[2] + -1 →* i71[5]))
(4) -> (5), if (((i4[4] →* i4[5])∧(a30817data[4] →* a1938data[5]))∧(i71[4] + -1 →* i71[5])∧(i3085[4] →* i65[5]))
(18) -> (8), if (((i4[18] →* i4[8])∧(a30817data[18] →* a30817data[8]))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧((i4[21] →* i4[8])∧(a30817data[21] →* a30817data[8]))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧((i4[24] →* i4[8])∧(a30817data[24] →* a30817data[8])))
(7) -> (9), if ((i71[7] →* i71[9])∧(i65[7] + 1 →* i3085[9])∧((i4[7] →* i4[9])∧(a1938data[7] →* a30817data[9]))∧(i120[7] →* i3104[9]))
(8) -> (9), if (((i4[8] →* i4[9])∧(a30817data[8] →* a30817data[9]))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(11) -> (9), if ((i71[11] →* i71[9])∧((i4[11] →* i4[9])∧(a30817data[11] →* a30817data[9]))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧((i4[14] →* i4[9])∧(a30817data[14] →* a30817data[9])))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧((i4[9] →* i4[10])∧(a30817data[9] →* a30817data[10]))∧((i3404[9] →* i3404[10])))
(10) -> (11), if ((i3085[10] →* i3085[11])∧((i4[10] →* i4[11])∧(a30817data[10] →* a30817data[11]))∧(i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0 →* TRUE)∧((i3404[10] →* i3404[11]))∧(i3104[10] →* i3104[11])∧(i71[10] →* i71[11]))
(7) -> (12), if ((i65[7] + 1 →* i3085[12])∧((i4[7] →* i4[12])∧(a1938data[7] →* a30817data[12]))∧(i71[7] →* i71[12])∧(i120[7] →* i3104[12]))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧((i4[8] →* i4[12])∧(a30817data[8] →* a30817data[12]))∧(i3104[8] + -1 →* i3104[12]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧((i4[11] →* i4[12])∧(a30817data[11] →* a30817data[12]))∧(i3104[11] + -1 →* i3104[12]))
(14) -> (12), if (((i4[14] →* i4[12])∧(a30817data[14] →* a30817data[12]))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(12) -> (13), if (((i3403[12] →* i3403[13]))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧((i4[12] →* i4[13])∧(a30817data[12] →* a30817data[13])))
(13) -> (14), if ((i71[13] →* i71[14])∧(i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0 →* TRUE)∧(i3104[13] →* i3104[14])∧((i3403[13] →* i3403[14]))∧(i3085[13] →* i3085[14])∧((i4[13] →* i4[14])∧(a30817data[13] →* a30817data[14])))
(7) -> (15), if ((i71[7] →* i71[15])∧(i65[7] + 1 →* i3085[15])∧((i4[7] →* i4[15])∧(a1938data[7] →* a30817data[15]))∧(i120[7] →* i3104[15]))
(8) -> (15), if (((i4[8] →* i4[15])∧(a30817data[8] →* a30817data[15]))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(11) -> (15), if (((i4[11] →* i4[15])∧(a30817data[11] →* a30817data[15]))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧((i4[14] →* i4[15])∧(a30817data[14] →* a30817data[15])))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧((i3403[15] →* i3403[16]))∧((i4[15] →* i4[16])∧(a30817data[15] →* a30817data[16])))
(16) -> (17), if ((i3104[16] →* i3104[17])∧((i4[16] →* i4[17])∧(a30817data[16] →* a30817data[17]))∧((i3403[16] →* i3403[17]))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧((i4[17] →* i4[18])∧(a30817data[17] →* a30817data[18]))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(27) -> (18), if (((i4[27] →* i4[18])∧(a30817data[27] →* a30817data[18]))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
(7) -> (19), if ((i71[7] →* i71[19])∧(i65[7] + 1 →* i3085[19])∧(i120[7] →* i3104[19])∧((i4[7] →* i4[19])∧(a1938data[7] →* a30817data[19])))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧((i4[8] →* i4[19])∧(a30817data[8] →* a30817data[19]))∧(i71[8] →* i71[19]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧((i4[11] →* i4[19])∧(a30817data[11] →* a30817data[19]))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧((i4[14] →* i4[19])∧(a30817data[14] →* a30817data[19])))
(19) -> (20), if ((i3085[19] →* i3085[20])∧((i3403[19] →* i3403[20]))∧(i3104[19] →* i3104[20])∧((i4[19] →* i4[20])∧(a30817data[19] →* a30817data[20]))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧((i3403[20] →* i3403[21]))∧((i4[20] →* i4[21])∧(a30817data[20] →* a30817data[21]))∧(i3085[20] →* i3085[21]))
(7) -> (22), if (((i4[7] →* i4[22])∧(a1938data[7] →* a30817data[22]))∧(i120[7] →* i3104[22])∧(i65[7] + 1 →* i3085[22])∧(i71[7] →* i71[22]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧((i4[8] →* i4[22])∧(a30817data[8] →* a30817data[22])))
(11) -> (22), if (((i4[11] →* i4[22])∧(a30817data[11] →* a30817data[22]))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(14) -> (22), if ((i71[14] →* i71[22])∧((i4[14] →* i4[22])∧(a30817data[14] →* a30817data[22]))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(22) -> (23), if (((i3404[22] →* i3404[23]))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧((i4[22] →* i4[23])∧(a30817data[22] →* a30817data[23])))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧((i3404[23] →* i3404[24]))∧(i71[23] →* i71[24])∧((i4[23] →* i4[24])∧(a30817data[23] →* a30817data[24]))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(7) -> (25), if ((i65[7] + 1 →* i3085[25])∧(i71[7] →* i71[25])∧((i4[7] →* i4[25])∧(a1938data[7] →* a30817data[25]))∧(i120[7] →* i3104[25]))
(8) -> (25), if ((i71[8] →* i71[25])∧((i4[8] →* i4[25])∧(a30817data[8] →* a30817data[25]))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧((i4[11] →* i4[25])∧(a30817data[11] →* a30817data[25]))∧(i71[11] →* i71[25]))
(14) -> (25), if (((i4[14] →* i4[25])∧(a30817data[14] →* a30817data[25]))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
(25) -> (26), if ((i71[25] →* i71[26])∧((i3404[25] →* i3404[26]))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧((i4[25] →* i4[26])∧(a30817data[25] →* a30817data[26])))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧((i4[26] →* i4[27])∧(a30817data[26] →* a30817data[27]))∧(i71[26] →* i71[27])∧((i3404[26] →* i3404[27]))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(33) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 6 less nodes.
(34) 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:
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(18) -> (8), if (((i4[18] →* i4[8])∧(a30817data[18] →* a30817data[8]))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧((i4[21] →* i4[8])∧(a30817data[21] →* a30817data[8]))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧((i4[24] →* i4[8])∧(a30817data[24] →* a30817data[8])))
(8) -> (9), if (((i4[8] →* i4[9])∧(a30817data[8] →* a30817data[9]))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(11) -> (9), if ((i71[11] →* i71[9])∧((i4[11] →* i4[9])∧(a30817data[11] →* a30817data[9]))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧((i4[14] →* i4[9])∧(a30817data[14] →* a30817data[9])))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧((i4[9] →* i4[10])∧(a30817data[9] →* a30817data[10]))∧((i3404[9] →* i3404[10])))
(10) -> (11), if ((i3085[10] →* i3085[11])∧((i4[10] →* i4[11])∧(a30817data[10] →* a30817data[11]))∧(i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0 →* TRUE)∧((i3404[10] →* i3404[11]))∧(i3104[10] →* i3104[11])∧(i71[10] →* i71[11]))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧((i4[8] →* i4[12])∧(a30817data[8] →* a30817data[12]))∧(i3104[8] + -1 →* i3104[12]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧((i4[11] →* i4[12])∧(a30817data[11] →* a30817data[12]))∧(i3104[11] + -1 →* i3104[12]))
(14) -> (12), if (((i4[14] →* i4[12])∧(a30817data[14] →* a30817data[12]))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(12) -> (13), if (((i3403[12] →* i3403[13]))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧((i4[12] →* i4[13])∧(a30817data[12] →* a30817data[13])))
(13) -> (14), if ((i71[13] →* i71[14])∧(i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0 →* TRUE)∧(i3104[13] →* i3104[14])∧((i3403[13] →* i3403[14]))∧(i3085[13] →* i3085[14])∧((i4[13] →* i4[14])∧(a30817data[13] →* a30817data[14])))
(8) -> (15), if (((i4[8] →* i4[15])∧(a30817data[8] →* a30817data[15]))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(11) -> (15), if (((i4[11] →* i4[15])∧(a30817data[11] →* a30817data[15]))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧((i4[14] →* i4[15])∧(a30817data[14] →* a30817data[15])))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧((i3403[15] →* i3403[16]))∧((i4[15] →* i4[16])∧(a30817data[15] →* a30817data[16])))
(16) -> (17), if ((i3104[16] →* i3104[17])∧((i4[16] →* i4[17])∧(a30817data[16] →* a30817data[17]))∧((i3403[16] →* i3403[17]))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧((i4[17] →* i4[18])∧(a30817data[17] →* a30817data[18]))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(27) -> (18), if (((i4[27] →* i4[18])∧(a30817data[27] →* a30817data[18]))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧((i4[8] →* i4[19])∧(a30817data[8] →* a30817data[19]))∧(i71[8] →* i71[19]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧((i4[11] →* i4[19])∧(a30817data[11] →* a30817data[19]))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧((i4[14] →* i4[19])∧(a30817data[14] →* a30817data[19])))
(19) -> (20), if ((i3085[19] →* i3085[20])∧((i3403[19] →* i3403[20]))∧(i3104[19] →* i3104[20])∧((i4[19] →* i4[20])∧(a30817data[19] →* a30817data[20]))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧((i3403[20] →* i3403[21]))∧((i4[20] →* i4[21])∧(a30817data[20] →* a30817data[21]))∧(i3085[20] →* i3085[21]))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧((i4[8] →* i4[22])∧(a30817data[8] →* a30817data[22])))
(11) -> (22), if (((i4[11] →* i4[22])∧(a30817data[11] →* a30817data[22]))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(14) -> (22), if ((i71[14] →* i71[22])∧((i4[14] →* i4[22])∧(a30817data[14] →* a30817data[22]))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(22) -> (23), if (((i3404[22] →* i3404[23]))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧((i4[22] →* i4[23])∧(a30817data[22] →* a30817data[23])))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧((i3404[23] →* i3404[24]))∧(i71[23] →* i71[24])∧((i4[23] →* i4[24])∧(a30817data[23] →* a30817data[24]))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(8) -> (25), if ((i71[8] →* i71[25])∧((i4[8] →* i4[25])∧(a30817data[8] →* a30817data[25]))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧((i4[11] →* i4[25])∧(a30817data[11] →* a30817data[25]))∧(i71[11] →* i71[25]))
(14) -> (25), if (((i4[14] →* i4[25])∧(a30817data[14] →* a30817data[25]))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
(25) -> (26), if ((i71[25] →* i71[26])∧((i3404[25] →* i3404[26]))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧((i4[25] →* i4[26])∧(a30817data[25] →* a30817data[26])))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧((i4[26] →* i4[27])∧(a30817data[26] →* a30817data[27]))∧(i71[26] →* i71[27])∧((i3404[26] →* i3404[27]))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(35) 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
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
+(
i3085[27],
1),
i71[27],
i3104[27]) the following chains were created:
- We consider the chain COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27]) which results in the following constraint:
(1) (COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27])))≥NonInfC∧COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27])))≥JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])∧(UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥))
We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(2) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[(-1)bso_26] ≥ 0)
We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(3) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[(-1)bso_26] ≥ 0)
We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(4) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧[(-1)bso_26] ≥ 0)
We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(5) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
For Pair
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
&&(
&&(
&&(
&&(
<=(
i3404[26],
0),
>(
i3085[26],
0)),
<(
i3085[26],
i4[26])),
>(
i3104[26],
0)),
>(
+(
i3085[26],
1),
0)),
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) the following chains were created:
- We consider the chain LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))), COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27]) which results in the following constraint:
(6) (i3104[26]=i3104[27]∧i3085[26]=i3085[27]∧i4[26]=i4[27]∧a30817data[26]=a30817data[27]∧i71[26]=i71[27]∧i3404[26]=i3404[27]∧&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0))=TRUE ⇒ LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥NonInfC∧LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))∧(UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥))
We simplified constraint (6) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(7) (>(+(i3085[26], 1), 0)=TRUE∧>(i3104[26], 0)=TRUE∧<(i3085[26], i4[26])=TRUE∧<=(i3404[26], 0)=TRUE∧>(i3085[26], 0)=TRUE ⇒ LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥NonInfC∧LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))≥COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))∧(UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(11) (i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-1] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (11) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(12) ([1] + i3085[26] ≥ 0∧i3104[26] + [-1] ≥ 0∧i4[26] + [-2] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] + [-2] + [-1]i3085[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧[-1]i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25]) → LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25]))) which results in the following constraint:
(16) (LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25])≥LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))∧(UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
For Pair
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
+(
i3085[24],
1),
i71[24],
i3104[24]) the following chains were created:
- We consider the chain COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24]) which results in the following constraint:
(21) (COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24])))≥NonInfC∧COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24])))≥INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥))
We simplified constraint (21) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(22) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (22) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(23) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (23) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(24) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (24) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(25) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
For Pair
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
&&(
&&(
&&(
&&(
<=(
i3404[23],
0),
>(
i3085[23],
0)),
<(
i3085[23],
i4[23])),
>(
i3104[23],
0)),
>(
+(
i3085[23],
1),
0)),
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) the following chains were created:
- We consider the chain LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))), COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24]) which results in the following constraint:
(26) (i3085[23]=i3085[24]∧i3104[23]=i3104[24]∧i3404[23]=i3404[24]∧i71[23]=i71[24]∧i4[23]=i4[24]∧a30817data[23]=a30817data[24]∧&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0))=TRUE ⇒ LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥NonInfC∧LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))∧(UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥))
We simplified constraint (26) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(27) (>(+(i3085[23], 1), 0)=TRUE∧>(i3104[23], 0)=TRUE∧<(i3085[23], i4[23])=TRUE∧<=(i3404[23], 0)=TRUE∧>(i3085[23], 0)=TRUE ⇒ LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥NonInfC∧LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))≥COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))∧(UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧[(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) (i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-1] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (31) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(32) ([1] + i3085[23] ≥ 0∧i3104[23] + [-1] ≥ 0∧i4[23] + [-2] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)bni_33 + (-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (32) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(33) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] + [-2] + [-1]i3085[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (33) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(34) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧[-1]i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
We simplified constraint (34) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(35) ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22]) → LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22]))) which results in the following constraint:
(36) (LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22])≥LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))∧(UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥))
We simplified constraint (36) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(37) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_36] ≥ 0)
We simplified constraint (37) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(38) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_36] ≥ 0)
We simplified constraint (38) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(39) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧[(-1)bso_36] ≥ 0)
We simplified constraint (39) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(40) ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
For Pair
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
+(
i3085[21],
1),
i71[21],
i3104[21]) the following chains were created:
- We consider the chain COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21]) which results in the following constraint:
(41) (COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21])))≥NonInfC∧COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21])))≥INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥))
We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(42) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(43) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(44) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (44) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(45) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
For Pair
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
&&(
&&(
&&(
&&(
>(
i3403[20],
0),
>(
i3085[20],
0)),
<(
i3085[20],
i4[20])),
>(
i3104[20],
0)),
>(
+(
i3085[20],
1),
0)),
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) the following chains were created:
- We consider the chain LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))), COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21]) which results in the following constraint:
(46) (&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0))=TRUE∧i3104[20]=i3104[21]∧i71[20]=i71[21]∧i3403[20]=i3403[21]∧i4[20]=i4[21]∧a30817data[20]=a30817data[21]∧i3085[20]=i3085[21] ⇒ LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥NonInfC∧LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))∧(UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥))
We simplified constraint (46) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(47) (>(+(i3085[20], 1), 0)=TRUE∧>(i3104[20], 0)=TRUE∧<(i3085[20], i4[20])=TRUE∧>(i3403[20], 0)=TRUE∧>(i3085[20], 0)=TRUE ⇒ LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥NonInfC∧LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))≥COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))∧(UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) (i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-1] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (51) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(52) ([1] + i3085[20] ≥ 0∧i3104[20] + [-1] ≥ 0∧i4[20] + [-2] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)bni_39 + (-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (52) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(53) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] + [-2] + [-1]i3085[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (53) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(54) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] + [-1] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
We simplified constraint (54) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(55) ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19]) → LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19]))) which results in the following constraint:
(56) (LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19])≥LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))∧(UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥))
We simplified constraint (56) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(57) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (57) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(58) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (58) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(59) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (59) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(60) ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
For Pair
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
+(
i3104[8],
-1)) the following chains were created:
- We consider the chain INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1)) which results in the following constraint:
(61) (INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8])≥NonInfC∧INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8])≥LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥))
We simplified constraint (61) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(62) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (62) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(63) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (63) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(64) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧[1 + (-1)bso_44] ≥ 0)
We simplified constraint (64) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(65) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_44] ≥ 0)
For Pair
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) the following chains were created:
- We consider the chain JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]) → INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]), INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1)) which results in the following constraint:
(66) (i4[18]=i4[8]∧a30817data[18]=a30817data[8]∧i71[18]=i71[8]∧i3104[18]=i3104[8]∧i3158[18]=i3158[8] ⇒ JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥NonInfC∧JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥))
We simplified constraint (66) using rule (IV) which results in the following new constraint:
(67) (JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥NonInfC∧JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])≥INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])∧(UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧[(-1)bso_46] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
For Pair
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
+(
i3085[17],
1),
i71[17],
i3104[17]) the following chains were created:
- We consider the chain COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17]) which results in the following constraint:
(72) (COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17])))≥NonInfC∧COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17])))≥JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])∧(UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧[(-1)bso_48] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)
For Pair
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
&&(
&&(
&&(
&&(
>(
i3403[16],
0),
>(
i3085[16],
0)),
<(
i3085[16],
i4[16])),
>(
i3104[16],
0)),
>(
+(
i3085[16],
1),
0)),
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) the following chains were created:
- We consider the chain LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))), COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17]) which results in the following constraint:
(77) (i3104[16]=i3104[17]∧i4[16]=i4[17]∧a30817data[16]=a30817data[17]∧i3403[16]=i3403[17]∧i3085[16]=i3085[17]∧&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0))=TRUE∧i71[16]=i71[17] ⇒ LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥NonInfC∧LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))∧(UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i3085[16], 1), 0)=TRUE∧>(i3104[16], 0)=TRUE∧<(i3085[16], i4[16])=TRUE∧>(i3403[16], 0)=TRUE∧>(i3085[16], 0)=TRUE ⇒ LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥NonInfC∧LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))≥COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))∧(UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-1] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i3085[16] ≥ 0∧i3104[16] + [-1] ≥ 0∧i4[16] + [-2] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] + [-2] + [-1]i3085[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] + [-1] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15]) → LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15]))) which results in the following constraint:
(87) (LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15])≥LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))∧(UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_52] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_52] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧[(-1)bso_52] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
For Pair
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
+(
i3085[14],
1),
i71[14],
+(
i3104[14],
-1)) the following chains were created:
- We consider the chain COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1)) which results in the following constraint:
(92) (COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14])))≥NonInfC∧COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14])))≥LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥))
We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(93) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(94) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(95) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧[1 + (-1)bso_54] ≥ 0)
We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(96) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)
For Pair
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
&&(
&&(
&&(
&&(
>(
i3403[13],
0),
>(
i3085[13],
0)),
<(
i3085[13],
i4[13])),
>(
i3104[13],
0)),
>(
+(
i3085[13],
1),
0)),
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) the following chains were created:
- We consider the chain LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))), COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1)) which results in the following constraint:
(97) (i71[13]=i71[14]∧&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0))=TRUE∧i3104[13]=i3104[14]∧i3403[13]=i3403[14]∧i3085[13]=i3085[14]∧i4[13]=i4[14]∧a30817data[13]=a30817data[14] ⇒ LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥NonInfC∧LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))∧(UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥))
We simplified constraint (97) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(98) (>(+(i3085[13], 1), 0)=TRUE∧>(i3104[13], 0)=TRUE∧<(i3085[13], i4[13])=TRUE∧>(i3403[13], 0)=TRUE∧>(i3085[13], 0)=TRUE ⇒ LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥NonInfC∧LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))≥COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))∧(UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥))
We simplified constraint (98) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(99) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (99) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(100) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(101) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(102) (i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-1] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (102) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(103) ([1] + i3085[13] ≥ 0∧i3104[13] + [-1] ≥ 0∧i4[13] + [-2] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (103) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(104) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] + [-2] + [-1]i3085[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (104) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(105) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] + [-1] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
We simplified constraint (105) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(106) ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12]) → LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12]))) which results in the following constraint:
(107) (LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12])≥LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))∧(UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥))
We simplified constraint (107) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(108) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_58] ≥ 0)
We simplified constraint (108) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(109) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_58] ≥ 0)
We simplified constraint (109) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(110) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧[(-1)bso_58] ≥ 0)
We simplified constraint (110) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(111) ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
For Pair
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
+(
i3085[11],
1),
i71[11],
+(
i3104[11],
-1)) the following chains were created:
- We consider the chain COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1)) which results in the following constraint:
(112) (COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11])))≥NonInfC∧COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11])))≥LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))∧(UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥))
We simplified constraint (112) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(113) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (113) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(114) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (114) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(115) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧[1 + (-1)bso_60] ≥ 0)
We simplified constraint (115) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(116) ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_60] ≥ 0)
For Pair
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
&&(
&&(
&&(
&&(
<=(
i3404[10],
0),
>(
i3085[10],
0)),
<(
i3085[10],
i4[10])),
>(
i3104[10],
0)),
>(
+(
i3085[10],
1),
0)),
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) the following chains were created:
- We consider the chain LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))), COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1)) which results in the following constraint:
(117) (i3085[10]=i3085[11]∧i4[10]=i4[11]∧a30817data[10]=a30817data[11]∧&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0))=TRUE∧i3404[10]=i3404[11]∧i3104[10]=i3104[11]∧i71[10]=i71[11] ⇒ LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥NonInfC∧LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))∧(UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥))
We simplified constraint (117) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(118) (>(+(i3085[10], 1), 0)=TRUE∧>(i3104[10], 0)=TRUE∧<(i3085[10], i4[10])=TRUE∧<=(i3404[10], 0)=TRUE∧>(i3085[10], 0)=TRUE ⇒ LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥NonInfC∧LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))≥COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))∧(UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥))
We simplified constraint (118) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(119) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (119) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(120) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (120) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(121) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (121) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(122) (i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-1] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (122) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(123) ([1] + i3085[10] ≥ 0∧i3104[10] + [-1] ≥ 0∧i4[10] + [-2] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)bni_61 + (-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (123) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(124) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] + [-2] + [-1]i3085[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (124) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(125) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧[-1]i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
We simplified constraint (125) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(126) ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
For Pair
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9]))) the following chains were created:
- We consider the chain LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9]) → LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9]))) which results in the following constraint:
(127) (LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9])≥NonInfC∧LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9])≥LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))∧(UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥))
We simplified constraint (127) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(128) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (128) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(129) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (129) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(130) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧[(-1)bso_64] ≥ 0)
We simplified constraint (130) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(131) ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])
- ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_26] ≥ 0)
- LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))
- ([1] + i3085[26] ≥ 0∧i3104[26] ≥ 0∧i4[26] ≥ 0∧i3404[26] ≥ 0∧i3085[26] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))), ≥)∧0 = 0∧[(-1)Bound*bni_27] + [bni_27]i3104[26] ≥ 0∧0 = 0∧[(-1)bso_28] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25]) → LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))
- ((UIncreasing(LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
- COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
- LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))
- ([1] + i3085[23] ≥ 0∧i3104[23] ≥ 0∧i4[23] ≥ 0∧i3404[23] ≥ 0∧i3085[23] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))), ≥)∧0 = 0∧[(-1)Bound*bni_33] + [bni_33]i3104[23] ≥ 0∧0 = 0∧[(-1)bso_34] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22]) → LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))
- ((UIncreasing(LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
- COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
- LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))
- ([1] + i3085[20] ≥ 0∧i3104[20] ≥ 0∧i4[20] ≥ 0∧i3403[20] ≥ 0∧i3085[20] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))), ≥)∧0 = 0∧[(-1)Bound*bni_39] + [bni_39]i3104[20] ≥ 0∧0 = 0∧[(-1)bso_40] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19]) → LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))
- ((UIncreasing(LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
- INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_44] ≥ 0)
- JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]) → INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])
- ((UIncreasing(INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
- COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])
- ((UIncreasing(JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_48] ≥ 0)
- LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))
- ([1] + i3085[16] ≥ 0∧i3104[16] ≥ 0∧i4[16] ≥ 0∧i3403[16] ≥ 0∧i3085[16] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))), ≥)∧0 = 0∧[(-1)Bound*bni_49] + [bni_49]i3104[16] ≥ 0∧0 = 0∧[(-1)bso_50] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15]) → LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))
- ((UIncreasing(LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
- COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_54] ≥ 0)
- LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))
- ([1] + i3085[13] ≥ 0∧i3104[13] ≥ 0∧i4[13] ≥ 0∧i3403[13] ≥ 0∧i3085[13] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))), ≥)∧0 = 0∧[(-1)Bound*bni_55] + [bni_55]i3104[13] ≥ 0∧0 = 0∧[(-1)bso_56] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12]) → LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))
- ((UIncreasing(LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
- COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))
- ((UIncreasing(LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_60] ≥ 0)
- LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))
- ([1] + i3085[10] ≥ 0∧i3104[10] ≥ 0∧i4[10] ≥ 0∧i3404[10] ≥ 0∧i3085[10] ≥ 0 ⇒ (UIncreasing(COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))), ≥)∧0 = 0∧[(-1)Bound*bni_61] + [bni_61]i3104[10] ≥ 0∧0 = 0∧[(-1)bso_62] ≥ 0)
- LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9]) → LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))
- ((UIncreasing(LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_LOAD15508ARR10(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1]x2 + [-1]x1
POL(java.lang.String(x1)) = x1
POL(JMP17958'(x1, x2, x3, x4)) = [-1] + x4
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(LOAD15508ARR10(x1, x2, x3, x4, x5)) = [-1] + x4
POL(&&(x1, x2)) = [-1]
POL(<=(x1, x2)) = [-1]
POL(0) = 0
POL(>(x1, x2)) = [-1]
POL(<(x1, x2)) = [-1]
POL(LOAD15508(x1, x2, x3, x4)) = [-1] + x4
POL(COND_LOAD15508ARR7(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(INC18057(x1, x2, x3, x4)) = [-1] + x4
POL(LOAD15508ARR7(x1, x2, x3, x4, x5)) = [-1] + x4
POL(COND_LOAD15508ARR6(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(LOAD15508ARR6(x1, x2, x3, x4, x5)) = [-1] + x4
POL(-1) = [-1]
POL(COND_LOAD15508ARR5(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(LOAD15508ARR5(x1, x2, x3, x4, x5)) = [-1] + x4
POL(COND_LOAD15508ARR4(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(LOAD15508ARR4(x1, x2, x3, x4, x5)) = [-1] + x4
POL(COND_LOAD15508ARR3(x1, x2, x3, x4, x5, x6)) = [-1] + x5
POL(LOAD15508ARR3(x1, x2, x3, x4, x5)) = [-1] + x4
The following pairs are in P
>:
INC18057(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], i3104[8]) → LOAD15508(java.lang.Object(ARRAY(i4[8], a30817data[8])), i3158[8], i71[8], +(i3104[8], -1))
COND_LOAD15508ARR4(TRUE, java.lang.Object(ARRAY(i4[14], a30817data[14])), i3085[14], i71[14], i3104[14], java.lang.Object(java.lang.String(i3403[14]))) → LOAD15508(java.lang.Object(ARRAY(i4[14], a30817data[14])), +(i3085[14], 1), i71[14], +(i3104[14], -1))
COND_LOAD15508ARR3(TRUE, java.lang.Object(ARRAY(i4[11], a30817data[11])), i3085[11], i71[11], i3104[11], java.lang.Object(java.lang.String(i3404[11]))) → LOAD15508(java.lang.Object(ARRAY(i4[11], a30817data[11])), +(i3085[11], 1), i71[11], +(i3104[11], -1))
The following pairs are in P
bound:
LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))
LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))
LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))
LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))
LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))
LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))
The following pairs are in P
≥:
COND_LOAD15508ARR10(TRUE, java.lang.Object(ARRAY(i4[27], a30817data[27])), i3085[27], i71[27], i3104[27], java.lang.Object(java.lang.String(i3404[27]))) → JMP17958'(java.lang.Object(ARRAY(i4[27], a30817data[27])), +(i3085[27], 1), i71[27], i3104[27])
LOAD15508ARR10(java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26]))) → COND_LOAD15508ARR10(&&(&&(&&(&&(<=(i3404[26], 0), >(i3085[26], 0)), <(i3085[26], i4[26])), >(i3104[26], 0)), >(+(i3085[26], 1), 0)), java.lang.Object(ARRAY(i4[26], a30817data[26])), i3085[26], i71[26], i3104[26], java.lang.Object(java.lang.String(i3404[26])))
LOAD15508(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25]) → LOAD15508ARR10(java.lang.Object(ARRAY(i4[25], a30817data[25])), i3085[25], i71[25], i3104[25], java.lang.Object(java.lang.String(i3404[25])))
COND_LOAD15508ARR7(TRUE, java.lang.Object(ARRAY(i4[24], a30817data[24])), i3085[24], i71[24], i3104[24], java.lang.Object(java.lang.String(i3404[24]))) → INC18057(java.lang.Object(ARRAY(i4[24], a30817data[24])), +(i3085[24], 1), i71[24], i3104[24])
LOAD15508ARR7(java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23]))) → COND_LOAD15508ARR7(&&(&&(&&(&&(<=(i3404[23], 0), >(i3085[23], 0)), <(i3085[23], i4[23])), >(i3104[23], 0)), >(+(i3085[23], 1), 0)), java.lang.Object(ARRAY(i4[23], a30817data[23])), i3085[23], i71[23], i3104[23], java.lang.Object(java.lang.String(i3404[23])))
LOAD15508(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22]) → LOAD15508ARR7(java.lang.Object(ARRAY(i4[22], a30817data[22])), i3085[22], i71[22], i3104[22], java.lang.Object(java.lang.String(i3404[22])))
COND_LOAD15508ARR6(TRUE, java.lang.Object(ARRAY(i4[21], a30817data[21])), i3085[21], i71[21], i3104[21], java.lang.Object(java.lang.String(i3403[21]))) → INC18057(java.lang.Object(ARRAY(i4[21], a30817data[21])), +(i3085[21], 1), i71[21], i3104[21])
LOAD15508ARR6(java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20]))) → COND_LOAD15508ARR6(&&(&&(&&(&&(>(i3403[20], 0), >(i3085[20], 0)), <(i3085[20], i4[20])), >(i3104[20], 0)), >(+(i3085[20], 1), 0)), java.lang.Object(ARRAY(i4[20], a30817data[20])), i3085[20], i71[20], i3104[20], java.lang.Object(java.lang.String(i3403[20])))
LOAD15508(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19]) → LOAD15508ARR6(java.lang.Object(ARRAY(i4[19], a30817data[19])), i3085[19], i71[19], i3104[19], java.lang.Object(java.lang.String(i3403[19])))
JMP17958'(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18]) → INC18057(java.lang.Object(ARRAY(i4[18], a30817data[18])), i3158[18], i71[18], i3104[18])
COND_LOAD15508ARR5(TRUE, java.lang.Object(ARRAY(i4[17], a30817data[17])), i3085[17], i71[17], i3104[17], java.lang.Object(java.lang.String(i3403[17]))) → JMP17958'(java.lang.Object(ARRAY(i4[17], a30817data[17])), +(i3085[17], 1), i71[17], i3104[17])
LOAD15508ARR5(java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16]))) → COND_LOAD15508ARR5(&&(&&(&&(&&(>(i3403[16], 0), >(i3085[16], 0)), <(i3085[16], i4[16])), >(i3104[16], 0)), >(+(i3085[16], 1), 0)), java.lang.Object(ARRAY(i4[16], a30817data[16])), i3085[16], i71[16], i3104[16], java.lang.Object(java.lang.String(i3403[16])))
LOAD15508(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15]) → LOAD15508ARR5(java.lang.Object(ARRAY(i4[15], a30817data[15])), i3085[15], i71[15], i3104[15], java.lang.Object(java.lang.String(i3403[15])))
LOAD15508ARR4(java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13]))) → COND_LOAD15508ARR4(&&(&&(&&(&&(>(i3403[13], 0), >(i3085[13], 0)), <(i3085[13], i4[13])), >(i3104[13], 0)), >(+(i3085[13], 1), 0)), java.lang.Object(ARRAY(i4[13], a30817data[13])), i3085[13], i71[13], i3104[13], java.lang.Object(java.lang.String(i3403[13])))
LOAD15508(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12]) → LOAD15508ARR4(java.lang.Object(ARRAY(i4[12], a30817data[12])), i3085[12], i71[12], i3104[12], java.lang.Object(java.lang.String(i3403[12])))
LOAD15508ARR3(java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10]))) → COND_LOAD15508ARR3(&&(&&(&&(&&(<=(i3404[10], 0), >(i3085[10], 0)), <(i3085[10], i4[10])), >(i3104[10], 0)), >(+(i3085[10], 1), 0)), java.lang.Object(ARRAY(i4[10], a30817data[10])), i3085[10], i71[10], i3104[10], java.lang.Object(java.lang.String(i3404[10])))
LOAD15508(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9]) → LOAD15508ARR3(java.lang.Object(ARRAY(i4[9], a30817data[9])), i3085[9], i71[9], i3104[9], java.lang.Object(java.lang.String(i3404[9])))
There are no usable rules.
(36) Complex Obligation (AND)
(37) 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:
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(26):
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26]))) →
COND_LOAD15508ARR10(
i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0,
java.lang.Object(
ARRAY(
i4[26],
a30817data[26])),
i3085[26],
i71[26],
i3104[26],
java.lang.Object(
java.lang.String(
i3404[26])))
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(23):
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23]))) →
COND_LOAD15508ARR7(
i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0,
java.lang.Object(
ARRAY(
i4[23],
a30817data[23])),
i3085[23],
i71[23],
i3104[23],
java.lang.Object(
java.lang.String(
i3404[23])))
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(20):
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20]))) →
COND_LOAD15508ARR6(
i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0,
java.lang.Object(
ARRAY(
i4[20],
a30817data[20])),
i3085[20],
i71[20],
i3104[20],
java.lang.Object(
java.lang.String(
i3403[20])))
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(16):
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16]))) →
COND_LOAD15508ARR5(
i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0,
java.lang.Object(
ARRAY(
i4[16],
a30817data[16])),
i3085[16],
i71[16],
i3104[16],
java.lang.Object(
java.lang.String(
i3403[16])))
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(13):
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13]))) →
COND_LOAD15508ARR4(
i3403[13] > 0 && i3085[13] > 0 && i3085[13] < i4[13] && i3104[13] > 0 && i3085[13] + 1 > 0,
java.lang.Object(
ARRAY(
i4[13],
a30817data[13])),
i3085[13],
i71[13],
i3104[13],
java.lang.Object(
java.lang.String(
i3403[13])))
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(10):
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10]))) →
COND_LOAD15508ARR3(
i3404[10] <= 0 && i3085[10] > 0 && i3085[10] < i4[10] && i3104[10] > 0 && i3085[10] + 1 > 0,
java.lang.Object(
ARRAY(
i4[10],
a30817data[10])),
i3085[10],
i71[10],
i3104[10],
java.lang.Object(
java.lang.String(
i3404[10])))
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(9) -> (10), if ((i3085[9] →* i3085[10])∧(i3104[9] →* i3104[10])∧(i71[9] →* i71[10])∧((i4[9] →* i4[10])∧(a30817data[9] →* a30817data[10]))∧((i3404[9] →* i3404[10])))
(12) -> (13), if (((i3403[12] →* i3403[13]))∧(i3085[12] →* i3085[13])∧(i71[12] →* i71[13])∧(i3104[12] →* i3104[13])∧((i4[12] →* i4[13])∧(a30817data[12] →* a30817data[13])))
(15) -> (16), if ((i3085[15] →* i3085[16])∧(i71[15] →* i71[16])∧(i3104[15] →* i3104[16])∧((i3403[15] →* i3403[16]))∧((i4[15] →* i4[16])∧(a30817data[15] →* a30817data[16])))
(16) -> (17), if ((i3104[16] →* i3104[17])∧((i4[16] →* i4[17])∧(a30817data[16] →* a30817data[17]))∧((i3403[16] →* i3403[17]))∧(i3085[16] →* i3085[17])∧(i3403[16] > 0 && i3085[16] > 0 && i3085[16] < i4[16] && i3104[16] > 0 && i3085[16] + 1 > 0 →* TRUE)∧(i71[16] →* i71[17]))
(17) -> (18), if ((i3104[17] →* i3104[18])∧((i4[17] →* i4[18])∧(a30817data[17] →* a30817data[18]))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(27) -> (18), if (((i4[27] →* i4[18])∧(a30817data[27] →* a30817data[18]))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
(19) -> (20), if ((i3085[19] →* i3085[20])∧((i3403[19] →* i3403[20]))∧(i3104[19] →* i3104[20])∧((i4[19] →* i4[20])∧(a30817data[19] →* a30817data[20]))∧(i71[19] →* i71[20]))
(20) -> (21), if ((i3403[20] > 0 && i3085[20] > 0 && i3085[20] < i4[20] && i3104[20] > 0 && i3085[20] + 1 > 0 →* TRUE)∧(i3104[20] →* i3104[21])∧(i71[20] →* i71[21])∧((i3403[20] →* i3403[21]))∧((i4[20] →* i4[21])∧(a30817data[20] →* a30817data[21]))∧(i3085[20] →* i3085[21]))
(22) -> (23), if (((i3404[22] →* i3404[23]))∧(i3104[22] →* i3104[23])∧(i3085[22] →* i3085[23])∧(i71[22] →* i71[23])∧((i4[22] →* i4[23])∧(a30817data[22] →* a30817data[23])))
(23) -> (24), if ((i3085[23] →* i3085[24])∧(i3104[23] →* i3104[24])∧((i3404[23] →* i3404[24]))∧(i71[23] →* i71[24])∧((i4[23] →* i4[24])∧(a30817data[23] →* a30817data[24]))∧(i3404[23] <= 0 && i3085[23] > 0 && i3085[23] < i4[23] && i3104[23] > 0 && i3085[23] + 1 > 0 →* TRUE))
(25) -> (26), if ((i71[25] →* i71[26])∧((i3404[25] →* i3404[26]))∧(i3104[25] →* i3104[26])∧(i3085[25] →* i3085[26])∧((i4[25] →* i4[26])∧(a30817data[25] →* a30817data[26])))
(26) -> (27), if ((i3104[26] →* i3104[27])∧(i3085[26] →* i3085[27])∧((i4[26] →* i4[27])∧(a30817data[26] →* a30817data[27]))∧(i71[26] →* i71[27])∧((i3404[26] →* i3404[27]))∧(i3404[26] <= 0 && i3085[26] > 0 && i3085[26] < i4[26] && i3104[26] > 0 && i3085[26] + 1 > 0 →* TRUE))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(38) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 17 less nodes.
(39) TRUE
(40) 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:
(27):
COND_LOAD15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27],
i71[27],
i3104[27],
java.lang.Object(
java.lang.String(
i3404[27]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[27],
a30817data[27])),
i3085[27] + 1,
i71[27],
i3104[27])
(25):
LOAD15508(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25]) →
LOAD15508ARR10(
java.lang.Object(
ARRAY(
i4[25],
a30817data[25])),
i3085[25],
i71[25],
i3104[25],
java.lang.Object(
java.lang.String(
i3404[25])))
(24):
COND_LOAD15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24],
i71[24],
i3104[24],
java.lang.Object(
java.lang.String(
i3404[24]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[24],
a30817data[24])),
i3085[24] + 1,
i71[24],
i3104[24])
(22):
LOAD15508(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22]) →
LOAD15508ARR7(
java.lang.Object(
ARRAY(
i4[22],
a30817data[22])),
i3085[22],
i71[22],
i3104[22],
java.lang.Object(
java.lang.String(
i3404[22])))
(21):
COND_LOAD15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21],
i71[21],
i3104[21],
java.lang.Object(
java.lang.String(
i3403[21]))) →
INC18057(
java.lang.Object(
ARRAY(
i4[21],
a30817data[21])),
i3085[21] + 1,
i71[21],
i3104[21])
(19):
LOAD15508(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19]) →
LOAD15508ARR6(
java.lang.Object(
ARRAY(
i4[19],
a30817data[19])),
i3085[19],
i71[19],
i3104[19],
java.lang.Object(
java.lang.String(
i3403[19])))
(8):
INC18057(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8]) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[8],
a30817data[8])),
i3158[8],
i71[8],
i3104[8] + -1)
(18):
JMP17958'(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18]) →
INC18057(
java.lang.Object(
ARRAY(
i4[18],
a30817data[18])),
i3158[18],
i71[18],
i3104[18])
(17):
COND_LOAD15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17],
i71[17],
i3104[17],
java.lang.Object(
java.lang.String(
i3403[17]))) →
JMP17958'(
java.lang.Object(
ARRAY(
i4[17],
a30817data[17])),
i3085[17] + 1,
i71[17],
i3104[17])
(15):
LOAD15508(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15]) →
LOAD15508ARR5(
java.lang.Object(
ARRAY(
i4[15],
a30817data[15])),
i3085[15],
i71[15],
i3104[15],
java.lang.Object(
java.lang.String(
i3403[15])))
(14):
COND_LOAD15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14],
i71[14],
i3104[14],
java.lang.Object(
java.lang.String(
i3403[14]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[14],
a30817data[14])),
i3085[14] + 1,
i71[14],
i3104[14] + -1)
(12):
LOAD15508(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12]) →
LOAD15508ARR4(
java.lang.Object(
ARRAY(
i4[12],
a30817data[12])),
i3085[12],
i71[12],
i3104[12],
java.lang.Object(
java.lang.String(
i3403[12])))
(11):
COND_LOAD15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11],
i71[11],
i3104[11],
java.lang.Object(
java.lang.String(
i3404[11]))) →
LOAD15508(
java.lang.Object(
ARRAY(
i4[11],
a30817data[11])),
i3085[11] + 1,
i71[11],
i3104[11] + -1)
(9):
LOAD15508(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9]) →
LOAD15508ARR3(
java.lang.Object(
ARRAY(
i4[9],
a30817data[9])),
i3085[9],
i71[9],
i3104[9],
java.lang.Object(
java.lang.String(
i3404[9])))
(18) -> (8), if (((i4[18] →* i4[8])∧(a30817data[18] →* a30817data[8]))∧(i71[18] →* i71[8])∧(i3104[18] →* i3104[8])∧(i3158[18] →* i3158[8]))
(21) -> (8), if ((i3104[21] →* i3104[8])∧((i4[21] →* i4[8])∧(a30817data[21] →* a30817data[8]))∧(i3085[21] + 1 →* i3158[8])∧(i71[21] →* i71[8]))
(24) -> (8), if ((i3104[24] →* i3104[8])∧(i71[24] →* i71[8])∧(i3085[24] + 1 →* i3158[8])∧((i4[24] →* i4[8])∧(a30817data[24] →* a30817data[8])))
(8) -> (9), if (((i4[8] →* i4[9])∧(a30817data[8] →* a30817data[9]))∧(i3158[8] →* i3085[9])∧(i3104[8] + -1 →* i3104[9])∧(i71[8] →* i71[9]))
(11) -> (9), if ((i71[11] →* i71[9])∧((i4[11] →* i4[9])∧(a30817data[11] →* a30817data[9]))∧(i3085[11] + 1 →* i3085[9])∧(i3104[11] + -1 →* i3104[9]))
(14) -> (9), if ((i71[14] →* i71[9])∧(i3085[14] + 1 →* i3085[9])∧(i3104[14] + -1 →* i3104[9])∧((i4[14] →* i4[9])∧(a30817data[14] →* a30817data[9])))
(8) -> (12), if ((i71[8] →* i71[12])∧(i3158[8] →* i3085[12])∧((i4[8] →* i4[12])∧(a30817data[8] →* a30817data[12]))∧(i3104[8] + -1 →* i3104[12]))
(11) -> (12), if ((i71[11] →* i71[12])∧(i3085[11] + 1 →* i3085[12])∧((i4[11] →* i4[12])∧(a30817data[11] →* a30817data[12]))∧(i3104[11] + -1 →* i3104[12]))
(14) -> (12), if (((i4[14] →* i4[12])∧(a30817data[14] →* a30817data[12]))∧(i3104[14] + -1 →* i3104[12])∧(i71[14] →* i71[12])∧(i3085[14] + 1 →* i3085[12]))
(8) -> (15), if (((i4[8] →* i4[15])∧(a30817data[8] →* a30817data[15]))∧(i3158[8] →* i3085[15])∧(i71[8] →* i71[15])∧(i3104[8] + -1 →* i3104[15]))
(11) -> (15), if (((i4[11] →* i4[15])∧(a30817data[11] →* a30817data[15]))∧(i3085[11] + 1 →* i3085[15])∧(i3104[11] + -1 →* i3104[15])∧(i71[11] →* i71[15]))
(14) -> (15), if ((i3104[14] + -1 →* i3104[15])∧(i71[14] →* i71[15])∧(i3085[14] + 1 →* i3085[15])∧((i4[14] →* i4[15])∧(a30817data[14] →* a30817data[15])))
(17) -> (18), if ((i3104[17] →* i3104[18])∧((i4[17] →* i4[18])∧(a30817data[17] →* a30817data[18]))∧(i3085[17] + 1 →* i3158[18])∧(i71[17] →* i71[18]))
(27) -> (18), if (((i4[27] →* i4[18])∧(a30817data[27] →* a30817data[18]))∧(i3104[27] →* i3104[18])∧(i71[27] →* i71[18])∧(i3085[27] + 1 →* i3158[18]))
(8) -> (19), if ((i3104[8] + -1 →* i3104[19])∧(i3158[8] →* i3085[19])∧((i4[8] →* i4[19])∧(a30817data[8] →* a30817data[19]))∧(i71[8] →* i71[19]))
(11) -> (19), if ((i3085[11] + 1 →* i3085[19])∧((i4[11] →* i4[19])∧(a30817data[11] →* a30817data[19]))∧(i71[11] →* i71[19])∧(i3104[11] + -1 →* i3104[19]))
(14) -> (19), if ((i3085[14] + 1 →* i3085[19])∧(i71[14] →* i71[19])∧(i3104[14] + -1 →* i3104[19])∧((i4[14] →* i4[19])∧(a30817data[14] →* a30817data[19])))
(8) -> (22), if ((i3158[8] →* i3085[22])∧(i3104[8] + -1 →* i3104[22])∧(i71[8] →* i71[22])∧((i4[8] →* i4[22])∧(a30817data[8] →* a30817data[22])))
(11) -> (22), if (((i4[11] →* i4[22])∧(a30817data[11] →* a30817data[22]))∧(i3085[11] + 1 →* i3085[22])∧(i71[11] →* i71[22])∧(i3104[11] + -1 →* i3104[22]))
(14) -> (22), if ((i71[14] →* i71[22])∧((i4[14] →* i4[22])∧(a30817data[14] →* a30817data[22]))∧(i3104[14] + -1 →* i3104[22])∧(i3085[14] + 1 →* i3085[22]))
(8) -> (25), if ((i71[8] →* i71[25])∧((i4[8] →* i4[25])∧(a30817data[8] →* a30817data[25]))∧(i3158[8] →* i3085[25])∧(i3104[8] + -1 →* i3104[25]))
(11) -> (25), if ((i3085[11] + 1 →* i3085[25])∧(i3104[11] + -1 →* i3104[25])∧((i4[11] →* i4[25])∧(a30817data[11] →* a30817data[25]))∧(i71[11] →* i71[25]))
(14) -> (25), if (((i4[14] →* i4[25])∧(a30817data[14] →* a30817data[25]))∧(i3104[14] + -1 →* i3104[25])∧(i71[14] →* i71[25])∧(i3085[14] + 1 →* i3085[25]))
The set Q consists of the following terms:
Load1577(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load1577ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load1577ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15508(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Cond_Load15508(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load1577ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load1577ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc18057(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
JMP17958(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4)
Load15508ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Load15508ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
Cond_Load15508ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
java.lang.Object(
java.lang.String(
x5)))
(41) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 14 less nodes.
(42) TRUE