(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: FlattenTree
public class FlattenTree {
public static void main(String[] args) {
Random.args = args;
Tree tree = Tree.createTree();
flatten(tree);
}
public static Tree flatten(Tree start) {
Tree result = null;
Tree s,t,u;
while (start != null) {
if (start.left == null) {
result = new Tree(null,result);
start = start.right;
}
else {
s = start.left.left;
t = start.left.right;
u = start.right;
start = new Tree(s, new Tree(t,u));
}
}
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();
}
}
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 523 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:
Load13335(
o13292,
o13288) →
NULL13590(
o13292,
o13288,
o13288)
NULL13590(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801))) →
JMP21373(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801)),
java.lang.Object(
Tree(
o14493,
java.lang.Object(
Tree(
o14495,
o13801)))))
JMP21373(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791))))) →
Load13335(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791)))))
NULL13590(
o13501,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14462,
o14464)),
o13791)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14462,
o14464)),
o13791))) →
Load13335(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791)))))
JMP17808(
o13501,
o13791) →
Load13335(
o13501,
o13791)
NULL13590(
o13501,
java.lang.Object(
Tree(
NULL,
o13791)),
java.lang.Object(
Tree(
NULL,
o13791))) →
Load13335(
o13501,
o13791)
NULL13590(
java.lang.Object(
Tree(
NULL,
o13801)),
java.lang.Object(
Tree(
NULL,
o13801)),
java.lang.Object(
Tree(
NULL,
o13801))) →
JMP17808(
java.lang.Object(
Tree(
NULL,
o13801)),
o13801)
The set Q consists of the following terms:
Load13335(
x0,
x1)
JMP21373(
x0,
java.lang.Object(
Tree(
x1,
java.lang.Object(
Tree(
x2,
x3)))))
NULL13590(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2)),
x3)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2)),
x3)))
JMP17808(
x0,
x1)
NULL13590(
x0,
java.lang.Object(
Tree(
NULL,
x1)),
java.lang.Object(
Tree(
NULL,
x1)))
(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
NULL13590(x1, x2, x3) → NULL13590(x1, x3)
(7) 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:
Load13335(
o13292,
o13288) →
NULL13590(
o13292,
o13288)
NULL13590(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801))) →
JMP21373(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14493,
o14495)),
o13801)),
java.lang.Object(
Tree(
o14493,
java.lang.Object(
Tree(
o14495,
o13801)))))
JMP21373(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791))))) →
Load13335(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791)))))
NULL13590(
o13501,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o14462,
o14464)),
o13791))) →
Load13335(
o13501,
java.lang.Object(
Tree(
o14462,
java.lang.Object(
Tree(
o14464,
o13791)))))
JMP17808(
o13501,
o13791) →
Load13335(
o13501,
o13791)
NULL13590(
o13501,
java.lang.Object(
Tree(
NULL,
o13791))) →
Load13335(
o13501,
o13791)
NULL13590(
java.lang.Object(
Tree(
NULL,
o13801)),
java.lang.Object(
Tree(
NULL,
o13801))) →
JMP17808(
java.lang.Object(
Tree(
NULL,
o13801)),
o13801)
The set Q consists of the following terms:
Load13335(
x0,
x1)
JMP21373(
x0,
java.lang.Object(
Tree(
x1,
java.lang.Object(
Tree(
x2,
x3)))))
NULL13590(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2)),
x3)))
JMP17808(
x0,
x1)
NULL13590(
x0,
java.lang.Object(
Tree(
NULL,
x1)))
(8) ITRStoQTRSProof (EQUIVALENT transformation)
Represented integers and predefined function symbols by Terms
(9) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load13335(o13292, o13288) → NULL13590(o13292, o13288)
NULL13590(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801))) → JMP21373(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(o14493, java.lang.Object(Tree(o14495, o13801)))))
JMP21373(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791))))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
NULL13590(o13501, java.lang.Object(Tree(java.lang.Object(Tree(o14462, o14464)), o13791))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
JMP17808(o13501, o13791) → Load13335(o13501, o13791)
NULL13590(o13501, java.lang.Object(Tree(NULL, o13791))) → Load13335(o13501, o13791)
NULL13590(java.lang.Object(Tree(NULL, o13801)), java.lang.Object(Tree(NULL, o13801))) → JMP17808(java.lang.Object(Tree(NULL, o13801)), o13801)
The set Q consists of the following terms:
Load13335(x0, x1)
JMP21373(x0, java.lang.Object(Tree(x1, java.lang.Object(Tree(x2, x3)))))
NULL13590(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)))
JMP17808(x0, x1)
NULL13590(x0, java.lang.Object(Tree(NULL, x1)))
(10) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP17808(x1, x2)) = 1 + x1 + x2
POL(JMP21373(x1, x2)) = x1 + x2
POL(Load13335(x1, x2)) = x1 + x2
POL(NULL) = 0
POL(NULL13590(x1, x2)) = x1 + x2
POL(Tree(x1, x2)) = x1 + x2
POL(java.lang.Object(x1)) = 2 + x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
JMP17808(o13501, o13791) → Load13335(o13501, o13791)
NULL13590(o13501, java.lang.Object(Tree(NULL, o13791))) → Load13335(o13501, o13791)
NULL13590(java.lang.Object(Tree(NULL, o13801)), java.lang.Object(Tree(NULL, o13801))) → JMP17808(java.lang.Object(Tree(NULL, o13801)), o13801)
(11) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load13335(o13292, o13288) → NULL13590(o13292, o13288)
NULL13590(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801))) → JMP21373(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(o14493, java.lang.Object(Tree(o14495, o13801)))))
JMP21373(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791))))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
NULL13590(o13501, java.lang.Object(Tree(java.lang.Object(Tree(o14462, o14464)), o13791))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
The set Q consists of the following terms:
Load13335(x0, x1)
JMP21373(x0, java.lang.Object(Tree(x1, java.lang.Object(Tree(x2, x3)))))
NULL13590(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)))
JMP17808(x0, x1)
NULL13590(x0, java.lang.Object(Tree(NULL, x1)))
(12) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP21373(x1, x2)) = 2 + x1 + x2
POL(Load13335(x1, x2)) = x1 + x2
POL(NULL13590(x1, x2)) = x1 + x2
POL(Tree(x1, x2)) = 2·x1 + x2
POL(java.lang.Object(x1)) = 2 + x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
JMP21373(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791))))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
NULL13590(o13501, java.lang.Object(Tree(java.lang.Object(Tree(o14462, o14464)), o13791))) → Load13335(o13501, java.lang.Object(Tree(o14462, java.lang.Object(Tree(o14464, o13791)))))
(13) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load13335(o13292, o13288) → NULL13590(o13292, o13288)
NULL13590(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801))) → JMP21373(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(o14493, java.lang.Object(Tree(o14495, o13801)))))
The set Q consists of the following terms:
Load13335(x0, x1)
JMP21373(x0, java.lang.Object(Tree(x1, java.lang.Object(Tree(x2, x3)))))
NULL13590(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)))
JMP17808(x0, x1)
NULL13590(x0, java.lang.Object(Tree(NULL, x1)))
(14) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP21373(x1, x2)) = x1 + x2
POL(Load13335(x1, x2)) = 2 + x1 + x2
POL(NULL13590(x1, x2)) = 1 + x1 + x2
POL(Tree(x1, x2)) = x1 + x2
POL(java.lang.Object(x1)) = x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
Load13335(o13292, o13288) → NULL13590(o13292, o13288)
NULL13590(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801))) → JMP21373(java.lang.Object(Tree(java.lang.Object(Tree(o14493, o14495)), o13801)), java.lang.Object(Tree(o14493, java.lang.Object(Tree(o14495, o13801)))))
(15) Obligation:
Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:
Load13335(x0, x1)
JMP21373(x0, java.lang.Object(Tree(x1, java.lang.Object(Tree(x2, x3)))))
NULL13590(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2)), x3)))
JMP17808(x0, x1)
NULL13590(x0, java.lang.Object(Tree(NULL, x1)))
(16) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(17) TRUE
(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:
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168))) →
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR1(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)))
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1))))) →
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR2(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168)))
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
NULL,
o22362))) →
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
NULL,
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR3(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1,
o17166new,
o17166new)
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362))) →
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR4(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1))))) →
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR5(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168))) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
NULL))) →
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
NULL)),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR6(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
o17166new,
o17166new)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
NULL,
o17168)),
java.lang.Object(
Tree(
NULL,
o17168))) →
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
NULL,
o17168)),
java.lang.Object(
Tree(
NULL,
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR7(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
NULL)),
java.lang.Object(
Tree(
o17167,
NULL))) →
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
NULL)),
java.lang.Object(
Tree(
o17167,
NULL)),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR8(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))))
The set Q consists of the following terms:
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))))
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))),
java.lang.Object(
java.lang.String(
x9)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))),
java.lang.Object(
java.lang.String(
x9)))
Inc25605(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x4,
x5)))
JMP25474(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x4,
x5)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
NULL,
x6)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)))
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)),
java.lang.Object(
java.lang.String(
x9)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)),
java.lang.Object(
java.lang.String(
x9)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
java.lang.String(
x7)))
JMP25549(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x4,
x5)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
NULL)))
Load17214ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x7)))
Load17214ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
java.lang.String(
x5)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
java.lang.String(
x5)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x5)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x5)))
(19) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP25549(x1, x2, x3, x4, x5) → JMP25549(x1, x2, x3, x5)
Cond_Load17214ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR8(x1, x2, x3, x4, x6, x7)
Load17214ARR8(x1, x2, x3, x4, x5, x6) → Load17214ARR8(x1, x2, x3, x5, x6)
JMP25474(x1, x2, x3, x4, x5) → JMP25474(x1, x2, x3, x5)
Cond_Load17214ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR7(x1, x2, x3, x4, x6, x7)
Load17214ARR7(x1, x2, x3, x4, x5, x6) → Load17214ARR7(x1, x2, x3, x5, x6)
Inc25605(x1, x2, x3, x4, x5) → Inc25605(x1, x2, x3, x5)
Cond_Load17214ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR5(x1, x2, x3, x4, x6, x7)
Load17214ARR5(x1, x2, x3, x4, x5, x6) → Load17214ARR5(x1, x2, x3, x5, x6)
Cond_Load17214ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR1(x1, x2, x3, x4, x6, x7)
Load17214ARR1(x1, x2, x3, x4, x5, x6) → Load17214ARR1(x1, x2, x3, x5, x6)
(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:
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168))) →
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR1(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)),
o17168)),
java.lang.Object(
Tree(
o22539Field0,
o22539Field1)))
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1))))) →
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR2(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22803Field0,
o22803Field1)))
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168)))
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o17167,
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
NULL,
o22362))) →
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
NULL,
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR3(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1,
o17166new,
o17166new)
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362))) →
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR4(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)),
o22362)),
java.lang.Object(
java.lang.String(
i1755))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22755Field0,
o22755Field1)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1))))) →
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR5(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
java.lang.String(
i1756))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))),
java.lang.Object(
Tree(
o22645Field0,
o22645Field1)))
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168))) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
NULL))) →
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
NULL)),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR6(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
o17168)),
java.lang.Object(
Tree(
o22386,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
o17166new)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
NULL,
o17168)),
java.lang.Object(
Tree(
NULL,
o17168))) →
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
NULL,
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR7(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)),
java.lang.Object(
java.lang.String(
i1755))) →
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
o17168)))
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
NULL)),
java.lang.Object(
Tree(
o17167,
NULL))) →
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
NULL)),
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR8(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
i1756))) →
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519,
java.lang.Object(
Tree(
o17167,
java.lang.Object(
Tree(
NULL,
NULL)))))
The set Q consists of the following terms:
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))))
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))),
java.lang.Object(
java.lang.String(
x9)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8)))),
java.lang.Object(
java.lang.String(
x9)))
Inc25605(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)))
JMP25474(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
NULL,
x6)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x6)),
java.lang.Object(
java.lang.String(
x7)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)))
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)),
java.lang.Object(
java.lang.String(
x9)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7)),
x8)),
java.lang.Object(
java.lang.String(
x9)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6)))),
java.lang.Object(
java.lang.String(
x7)))
JMP25549(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)))
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
NULL)))
Load17214ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x7)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x7)))
Load17214ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
java.lang.String(
x5)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL)),
x4)),
java.lang.Object(
java.lang.String(
x5)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x5)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL)))),
java.lang.Object(
java.lang.String(
x5)))
(21) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load17214(x1, x2, x3, x4, x5) → Load17214(x1, x2, x3)
Tree(x1, x2) → Tree
Load17214ARR1(x1, x2, x3, x4, x5) → Load17214ARR1(x1, x2, x3, x5)
Cond_Load17214ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load17214ARR1(x1, x2, x3, x4, x6)
JMP22323(x1, x2, x3, x4, x5) → JMP22323(x1, x2, x3)
Inc22472(x1, x2, x3, x4, x5) → Inc22472(x1, x2, x3)
Load17214ARR2(x1, x2, x3, x4, x5, x6) → Load17214ARR2(x1, x2, x3, x6)
Cond_Load17214ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR2(x1, x2, x3, x4, x7)
Inc25605(x1, x2, x3, x4) → Inc25605(x1, x2, x3)
JMP25474(x1, x2, x3, x4) → JMP25474(x1, x2, x3)
Load17214ARR3(x1, x2, x3, x4, x5, x6) → Load17214ARR3(x1, x2, x3, x6)
Cond_Load17214ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR3(x1, x2, x3, x4, x7)
Load17214ARR4(x1, x2, x3, x4, x5, x6) → Load17214ARR4(x1, x2, x3, x6)
Cond_Load17214ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR4(x1, x2, x3, x4, x7)
Load17214ARR5(x1, x2, x3, x4, x5) → Load17214ARR5(x1, x2, x3, x5)
Cond_Load17214ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load17214ARR5(x1, x2, x3, x4, x6)
JMP25549(x1, x2, x3, x4) → JMP25549(x1, x2, x3)
Load17214ARR6(x1, x2, x3, x4, x5, x6) → Load17214ARR6(x1, x2, x3, x6)
Cond_Load17214ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load17214ARR6(x1, x2, x3, x4, x7)
Load17214ARR7(x1, x2, x3, x4, x5) → Load17214ARR7(x1, x2, x3, x5)
Cond_Load17214ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load17214ARR7(x1, x2, x3, x4, x6)
Load17214ARR8(x1, x2, x3, x4, x5) → Load17214ARR8(x1, x2, x3, x5)
Cond_Load17214ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load17214ARR8(x1, x2, x3, x4, x6)
(22) 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:
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR1(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR2(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1)
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR3(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR4(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR5(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR6(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR6(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Inc25605(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR7(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR7(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
JMP25474(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR8(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
JMP25549(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc25605(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP25474(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP25549(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(23) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load17214ARR4, Load17214ARR7 | > | Load17214ARR4_4 |
Cond_Load17214ARR4, Cond_Load17214ARR7 | > | Cond_Load17214ARR4_5 |
Inc22472, Inc25605, JMP25474 | > | Inc22472_3 |
Load17214ARR5, Load17214ARR6 | > | Load17214ARR5_4 |
JMP22323, JMP25549 | > | JMP22323_3 |
Cond_Load17214ARR5, Cond_Load17214ARR6 | > | Cond_Load17214ARR5_5 |
(24) 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:
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR1(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR2(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR3(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR4(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR5(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR8(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(25) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(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
The ITRS R consists of the following rules:
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR1(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR2(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR3(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519 + -1)
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Load17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Cond_Load17214ARR4(
i1755 > 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR5(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Inc22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
Load17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Load17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
Cond_Load17214ARR8(
i1756 <= 0 && i1509 > 0 && i1509 < i6 && i1519 > 0 && i1509 + 1 > 0,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
JMP22323(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509 + 1,
i1519)
The integer pair graph contains the following rules and edges:
(0):
LOAD17214(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0]) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0],
java.lang.Object(
java.lang.String(
i1755[0])))
(1):
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1]))) →
COND_LOAD17214ARR1(
i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0,
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1])))
(2):
COND_LOAD17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2],
i1519[2],
java.lang.Object(
java.lang.String(
i1755[2]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2] + 1,
i1519[2])
(3):
INC22472(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3]) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3] + -1)
(4):
LOAD17214(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4]) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4],
java.lang.Object(
java.lang.String(
i1756[4])))
(5):
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5]))) →
COND_LOAD17214ARR2(
i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0,
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5])))
(6):
COND_LOAD17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6],
i1519[6],
java.lang.Object(
java.lang.String(
i1756[6]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6] + 1,
i1519[6] + -1)
(7):
LOAD17214(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7]) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7],
java.lang.Object(
java.lang.String(
i1755[7])))
(8):
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8]))) →
COND_LOAD17214ARR3(
i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0,
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8])))
(9):
COND_LOAD17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9],
i1519[9],
java.lang.Object(
java.lang.String(
i1755[9]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9] + 1,
i1519[9] + -1)
(10):
JMP22323'(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10]) →
INC22472(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10])
(11):
LOAD17214(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11]) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11],
java.lang.Object(
java.lang.String(
i1755[11])))
(12):
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12]))) →
COND_LOAD17214ARR4(
i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0,
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12])))
(13):
COND_LOAD17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13],
i1519[13],
java.lang.Object(
java.lang.String(
i1755[13]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13] + 1,
i1519[13])
(14):
LOAD17214(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14]) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14],
java.lang.Object(
java.lang.String(
i1756[14])))
(15):
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15]))) →
COND_LOAD17214ARR5(
i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0,
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15])))
(16):
COND_LOAD17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16],
i1519[16],
java.lang.Object(
java.lang.String(
i1756[16]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16] + 1,
i1519[16])
(17):
LOAD17214(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17]) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17],
java.lang.Object(
java.lang.String(
i1756[17])))
(18):
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18]))) →
COND_LOAD17214ARR8(
i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0,
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18])))
(19):
COND_LOAD17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19],
i1519[19],
java.lang.Object(
java.lang.String(
i1756[19]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19] + 1,
i1519[19])
(0) -> (1), if ((java.lang.Object(ARRAY(i6[0], a17545data[0])) →* java.lang.Object(ARRAY(i6[1], a17545data[1])))∧(java.lang.Object(java.lang.String(i1755[0])) →* java.lang.Object(java.lang.String(i1755[1])))∧(i1519[0] →* i1519[1])∧(i1509[0] →* i1509[1]))
(1) -> (2), if ((i1509[1] →* i1509[2])∧(i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0 →* TRUE)∧(i1519[1] →* i1519[2])∧(java.lang.Object(java.lang.String(i1755[1])) →* java.lang.Object(java.lang.String(i1755[2])))∧(java.lang.Object(ARRAY(i6[1], a17545data[1])) →* java.lang.Object(ARRAY(i6[2], a17545data[2]))))
(2) -> (10), if ((i1519[2] →* i1519[10])∧(i1509[2] + 1 →* i1609[10])∧(java.lang.Object(ARRAY(i6[2], a17545data[2])) →* java.lang.Object(ARRAY(i6[10], a17545data[10]))))
(3) -> (0), if ((i1519[3] + -1 →* i1519[0])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[0], a17545data[0])))∧(i1609[3] →* i1509[0]))
(3) -> (4), if ((i1519[3] + -1 →* i1519[4])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[4], a17545data[4])))∧(i1609[3] →* i1509[4]))
(3) -> (7), if ((i1609[3] →* i1509[7])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[7], a17545data[7])))∧(i1519[3] + -1 →* i1519[7]))
(3) -> (11), if ((java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[11], a17545data[11])))∧(i1609[3] →* i1509[11])∧(i1519[3] + -1 →* i1519[11]))
(3) -> (14), if ((i1609[3] →* i1509[14])∧(i1519[3] + -1 →* i1519[14])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[14], a17545data[14]))))
(3) -> (17), if ((i1519[3] + -1 →* i1519[17])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[17], a17545data[17])))∧(i1609[3] →* i1509[17]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i1756[4])) →* java.lang.Object(java.lang.String(i1756[5])))∧(i1509[4] →* i1509[5])∧(java.lang.Object(ARRAY(i6[4], a17545data[4])) →* java.lang.Object(ARRAY(i6[5], a17545data[5])))∧(i1519[4] →* i1519[5]))
(5) -> (6), if ((java.lang.Object(java.lang.String(i1756[5])) →* java.lang.Object(java.lang.String(i1756[6])))∧(i1519[5] →* i1519[6])∧(java.lang.Object(ARRAY(i6[5], a17545data[5])) →* java.lang.Object(ARRAY(i6[6], a17545data[6])))∧(i1509[5] →* i1509[6])∧(i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0 →* TRUE))
(6) -> (0), if ((i1519[6] + -1 →* i1519[0])∧(i1509[6] + 1 →* i1509[0])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[0], a17545data[0]))))
(6) -> (4), if ((i1509[6] + 1 →* i1509[4])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[4], a17545data[4])))∧(i1519[6] + -1 →* i1519[4]))
(6) -> (7), if ((java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[7], a17545data[7])))∧(i1519[6] + -1 →* i1519[7])∧(i1509[6] + 1 →* i1509[7]))
(6) -> (11), if ((i1519[6] + -1 →* i1519[11])∧(i1509[6] + 1 →* i1509[11])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[11], a17545data[11]))))
(6) -> (14), if ((i1509[6] + 1 →* i1509[14])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[14], a17545data[14])))∧(i1519[6] + -1 →* i1519[14]))
(6) -> (17), if ((i1519[6] + -1 →* i1519[17])∧(i1509[6] + 1 →* i1509[17])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[17], a17545data[17]))))
(7) -> (8), if ((i1519[7] →* i1519[8])∧(java.lang.Object(java.lang.String(i1755[7])) →* java.lang.Object(java.lang.String(i1755[8])))∧(i1509[7] →* i1509[8])∧(java.lang.Object(ARRAY(i6[7], a17545data[7])) →* java.lang.Object(ARRAY(i6[8], a17545data[8]))))
(8) -> (9), if ((java.lang.Object(java.lang.String(i1755[8])) →* java.lang.Object(java.lang.String(i1755[9])))∧(i1519[8] →* i1519[9])∧(i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i6[8], a17545data[8])) →* java.lang.Object(ARRAY(i6[9], a17545data[9])))∧(i1509[8] →* i1509[9]))
(9) -> (0), if ((i1519[9] + -1 →* i1519[0])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[0], a17545data[0])))∧(i1509[9] + 1 →* i1509[0]))
(9) -> (4), if ((i1519[9] + -1 →* i1519[4])∧(i1509[9] + 1 →* i1509[4])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[4], a17545data[4]))))
(9) -> (7), if ((i1519[9] + -1 →* i1519[7])∧(i1509[9] + 1 →* i1509[7])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[7], a17545data[7]))))
(9) -> (11), if ((i1509[9] + 1 →* i1509[11])∧(i1519[9] + -1 →* i1519[11])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[11], a17545data[11]))))
(9) -> (14), if ((i1519[9] + -1 →* i1519[14])∧(i1509[9] + 1 →* i1509[14])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[14], a17545data[14]))))
(9) -> (17), if ((i1519[9] + -1 →* i1519[17])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[17], a17545data[17])))∧(i1509[9] + 1 →* i1509[17]))
(10) -> (3), if ((i1519[10] →* i1519[3])∧(i1609[10] →* i1609[3])∧(java.lang.Object(ARRAY(i6[10], a17545data[10])) →* java.lang.Object(ARRAY(i6[3], a17545data[3]))))
(11) -> (12), if ((java.lang.Object(ARRAY(i6[11], a17545data[11])) →* java.lang.Object(ARRAY(i6[12], a17545data[12])))∧(java.lang.Object(java.lang.String(i1755[11])) →* java.lang.Object(java.lang.String(i1755[12])))∧(i1519[11] →* i1519[12])∧(i1509[11] →* i1509[12]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i1755[12])) →* java.lang.Object(java.lang.String(i1755[13])))∧(java.lang.Object(ARRAY(i6[12], a17545data[12])) →* java.lang.Object(ARRAY(i6[13], a17545data[13])))∧(i1519[12] →* i1519[13])∧(i1509[12] →* i1509[13])∧(i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((java.lang.Object(ARRAY(i6[13], a17545data[13])) →* java.lang.Object(ARRAY(i6[3], a17545data[3])))∧(i1519[13] →* i1519[3])∧(i1509[13] + 1 →* i1609[3]))
(14) -> (15), if ((java.lang.Object(ARRAY(i6[14], a17545data[14])) →* java.lang.Object(ARRAY(i6[15], a17545data[15])))∧(java.lang.Object(java.lang.String(i1756[14])) →* java.lang.Object(java.lang.String(i1756[15])))∧(i1519[14] →* i1519[15])∧(i1509[14] →* i1509[15]))
(15) -> (16), if ((i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i6[15], a17545data[15])) →* java.lang.Object(ARRAY(i6[16], a17545data[16])))∧(i1519[15] →* i1519[16])∧(java.lang.Object(java.lang.String(i1756[15])) →* java.lang.Object(java.lang.String(i1756[16])))∧(i1509[15] →* i1509[16]))
(16) -> (3), if ((i1509[16] + 1 →* i1609[3])∧(java.lang.Object(ARRAY(i6[16], a17545data[16])) →* java.lang.Object(ARRAY(i6[3], a17545data[3])))∧(i1519[16] →* i1519[3]))
(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a17545data[17])) →* java.lang.Object(ARRAY(i6[18], a17545data[18])))∧(i1509[17] →* i1509[18])∧(java.lang.Object(java.lang.String(i1756[17])) →* java.lang.Object(java.lang.String(i1756[18])))∧(i1519[17] →* i1519[18]))
(18) -> (19), if ((java.lang.Object(ARRAY(i6[18], a17545data[18])) →* java.lang.Object(ARRAY(i6[19], a17545data[19])))∧(i1509[18] →* i1509[19])∧(i1519[18] →* i1519[19])∧(i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i1756[18])) →* java.lang.Object(java.lang.String(i1756[19]))))
(19) -> (10), if ((i1509[19] + 1 →* i1609[10])∧(java.lang.Object(ARRAY(i6[19], a17545data[19])) →* java.lang.Object(ARRAY(i6[10], a17545data[10])))∧(i1519[19] →* i1519[10]))
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(27) 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.
(28) 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):
LOAD17214(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0]) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0],
java.lang.Object(
java.lang.String(
i1755[0])))
(1):
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1]))) →
COND_LOAD17214ARR1(
i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0,
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1])))
(2):
COND_LOAD17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2],
i1519[2],
java.lang.Object(
java.lang.String(
i1755[2]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2] + 1,
i1519[2])
(3):
INC22472(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3]) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3] + -1)
(4):
LOAD17214(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4]) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4],
java.lang.Object(
java.lang.String(
i1756[4])))
(5):
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5]))) →
COND_LOAD17214ARR2(
i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0,
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5])))
(6):
COND_LOAD17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6],
i1519[6],
java.lang.Object(
java.lang.String(
i1756[6]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6] + 1,
i1519[6] + -1)
(7):
LOAD17214(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7]) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7],
java.lang.Object(
java.lang.String(
i1755[7])))
(8):
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8]))) →
COND_LOAD17214ARR3(
i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0,
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8])))
(9):
COND_LOAD17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9],
i1519[9],
java.lang.Object(
java.lang.String(
i1755[9]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9] + 1,
i1519[9] + -1)
(10):
JMP22323'(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10]) →
INC22472(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10])
(11):
LOAD17214(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11]) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11],
java.lang.Object(
java.lang.String(
i1755[11])))
(12):
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12]))) →
COND_LOAD17214ARR4(
i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0,
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12])))
(13):
COND_LOAD17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13],
i1519[13],
java.lang.Object(
java.lang.String(
i1755[13]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13] + 1,
i1519[13])
(14):
LOAD17214(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14]) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14],
java.lang.Object(
java.lang.String(
i1756[14])))
(15):
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15]))) →
COND_LOAD17214ARR5(
i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0,
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15])))
(16):
COND_LOAD17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16],
i1519[16],
java.lang.Object(
java.lang.String(
i1756[16]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16] + 1,
i1519[16])
(17):
LOAD17214(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17]) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17],
java.lang.Object(
java.lang.String(
i1756[17])))
(18):
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18]))) →
COND_LOAD17214ARR8(
i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0,
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18])))
(19):
COND_LOAD17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19],
i1519[19],
java.lang.Object(
java.lang.String(
i1756[19]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19] + 1,
i1519[19])
(0) -> (1), if ((java.lang.Object(ARRAY(i6[0], a17545data[0])) →* java.lang.Object(ARRAY(i6[1], a17545data[1])))∧(java.lang.Object(java.lang.String(i1755[0])) →* java.lang.Object(java.lang.String(i1755[1])))∧(i1519[0] →* i1519[1])∧(i1509[0] →* i1509[1]))
(1) -> (2), if ((i1509[1] →* i1509[2])∧(i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0 →* TRUE)∧(i1519[1] →* i1519[2])∧(java.lang.Object(java.lang.String(i1755[1])) →* java.lang.Object(java.lang.String(i1755[2])))∧(java.lang.Object(ARRAY(i6[1], a17545data[1])) →* java.lang.Object(ARRAY(i6[2], a17545data[2]))))
(2) -> (10), if ((i1519[2] →* i1519[10])∧(i1509[2] + 1 →* i1609[10])∧(java.lang.Object(ARRAY(i6[2], a17545data[2])) →* java.lang.Object(ARRAY(i6[10], a17545data[10]))))
(3) -> (0), if ((i1519[3] + -1 →* i1519[0])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[0], a17545data[0])))∧(i1609[3] →* i1509[0]))
(3) -> (4), if ((i1519[3] + -1 →* i1519[4])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[4], a17545data[4])))∧(i1609[3] →* i1509[4]))
(3) -> (7), if ((i1609[3] →* i1509[7])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[7], a17545data[7])))∧(i1519[3] + -1 →* i1519[7]))
(3) -> (11), if ((java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[11], a17545data[11])))∧(i1609[3] →* i1509[11])∧(i1519[3] + -1 →* i1519[11]))
(3) -> (14), if ((i1609[3] →* i1509[14])∧(i1519[3] + -1 →* i1519[14])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[14], a17545data[14]))))
(3) -> (17), if ((i1519[3] + -1 →* i1519[17])∧(java.lang.Object(ARRAY(i6[3], a17545data[3])) →* java.lang.Object(ARRAY(i6[17], a17545data[17])))∧(i1609[3] →* i1509[17]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i1756[4])) →* java.lang.Object(java.lang.String(i1756[5])))∧(i1509[4] →* i1509[5])∧(java.lang.Object(ARRAY(i6[4], a17545data[4])) →* java.lang.Object(ARRAY(i6[5], a17545data[5])))∧(i1519[4] →* i1519[5]))
(5) -> (6), if ((java.lang.Object(java.lang.String(i1756[5])) →* java.lang.Object(java.lang.String(i1756[6])))∧(i1519[5] →* i1519[6])∧(java.lang.Object(ARRAY(i6[5], a17545data[5])) →* java.lang.Object(ARRAY(i6[6], a17545data[6])))∧(i1509[5] →* i1509[6])∧(i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0 →* TRUE))
(6) -> (0), if ((i1519[6] + -1 →* i1519[0])∧(i1509[6] + 1 →* i1509[0])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[0], a17545data[0]))))
(6) -> (4), if ((i1509[6] + 1 →* i1509[4])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[4], a17545data[4])))∧(i1519[6] + -1 →* i1519[4]))
(6) -> (7), if ((java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[7], a17545data[7])))∧(i1519[6] + -1 →* i1519[7])∧(i1509[6] + 1 →* i1509[7]))
(6) -> (11), if ((i1519[6] + -1 →* i1519[11])∧(i1509[6] + 1 →* i1509[11])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[11], a17545data[11]))))
(6) -> (14), if ((i1509[6] + 1 →* i1509[14])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[14], a17545data[14])))∧(i1519[6] + -1 →* i1519[14]))
(6) -> (17), if ((i1519[6] + -1 →* i1519[17])∧(i1509[6] + 1 →* i1509[17])∧(java.lang.Object(ARRAY(i6[6], a17545data[6])) →* java.lang.Object(ARRAY(i6[17], a17545data[17]))))
(7) -> (8), if ((i1519[7] →* i1519[8])∧(java.lang.Object(java.lang.String(i1755[7])) →* java.lang.Object(java.lang.String(i1755[8])))∧(i1509[7] →* i1509[8])∧(java.lang.Object(ARRAY(i6[7], a17545data[7])) →* java.lang.Object(ARRAY(i6[8], a17545data[8]))))
(8) -> (9), if ((java.lang.Object(java.lang.String(i1755[8])) →* java.lang.Object(java.lang.String(i1755[9])))∧(i1519[8] →* i1519[9])∧(i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i6[8], a17545data[8])) →* java.lang.Object(ARRAY(i6[9], a17545data[9])))∧(i1509[8] →* i1509[9]))
(9) -> (0), if ((i1519[9] + -1 →* i1519[0])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[0], a17545data[0])))∧(i1509[9] + 1 →* i1509[0]))
(9) -> (4), if ((i1519[9] + -1 →* i1519[4])∧(i1509[9] + 1 →* i1509[4])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[4], a17545data[4]))))
(9) -> (7), if ((i1519[9] + -1 →* i1519[7])∧(i1509[9] + 1 →* i1509[7])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[7], a17545data[7]))))
(9) -> (11), if ((i1509[9] + 1 →* i1509[11])∧(i1519[9] + -1 →* i1519[11])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[11], a17545data[11]))))
(9) -> (14), if ((i1519[9] + -1 →* i1519[14])∧(i1509[9] + 1 →* i1509[14])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[14], a17545data[14]))))
(9) -> (17), if ((i1519[9] + -1 →* i1519[17])∧(java.lang.Object(ARRAY(i6[9], a17545data[9])) →* java.lang.Object(ARRAY(i6[17], a17545data[17])))∧(i1509[9] + 1 →* i1509[17]))
(10) -> (3), if ((i1519[10] →* i1519[3])∧(i1609[10] →* i1609[3])∧(java.lang.Object(ARRAY(i6[10], a17545data[10])) →* java.lang.Object(ARRAY(i6[3], a17545data[3]))))
(11) -> (12), if ((java.lang.Object(ARRAY(i6[11], a17545data[11])) →* java.lang.Object(ARRAY(i6[12], a17545data[12])))∧(java.lang.Object(java.lang.String(i1755[11])) →* java.lang.Object(java.lang.String(i1755[12])))∧(i1519[11] →* i1519[12])∧(i1509[11] →* i1509[12]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i1755[12])) →* java.lang.Object(java.lang.String(i1755[13])))∧(java.lang.Object(ARRAY(i6[12], a17545data[12])) →* java.lang.Object(ARRAY(i6[13], a17545data[13])))∧(i1519[12] →* i1519[13])∧(i1509[12] →* i1509[13])∧(i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((java.lang.Object(ARRAY(i6[13], a17545data[13])) →* java.lang.Object(ARRAY(i6[3], a17545data[3])))∧(i1519[13] →* i1519[3])∧(i1509[13] + 1 →* i1609[3]))
(14) -> (15), if ((java.lang.Object(ARRAY(i6[14], a17545data[14])) →* java.lang.Object(ARRAY(i6[15], a17545data[15])))∧(java.lang.Object(java.lang.String(i1756[14])) →* java.lang.Object(java.lang.String(i1756[15])))∧(i1519[14] →* i1519[15])∧(i1509[14] →* i1509[15]))
(15) -> (16), if ((i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i6[15], a17545data[15])) →* java.lang.Object(ARRAY(i6[16], a17545data[16])))∧(i1519[15] →* i1519[16])∧(java.lang.Object(java.lang.String(i1756[15])) →* java.lang.Object(java.lang.String(i1756[16])))∧(i1509[15] →* i1509[16]))
(16) -> (3), if ((i1509[16] + 1 →* i1609[3])∧(java.lang.Object(ARRAY(i6[16], a17545data[16])) →* java.lang.Object(ARRAY(i6[3], a17545data[3])))∧(i1519[16] →* i1519[3]))
(17) -> (18), if ((java.lang.Object(ARRAY(i6[17], a17545data[17])) →* java.lang.Object(ARRAY(i6[18], a17545data[18])))∧(i1509[17] →* i1509[18])∧(java.lang.Object(java.lang.String(i1756[17])) →* java.lang.Object(java.lang.String(i1756[18])))∧(i1519[17] →* i1519[18]))
(18) -> (19), if ((java.lang.Object(ARRAY(i6[18], a17545data[18])) →* java.lang.Object(ARRAY(i6[19], a17545data[19])))∧(i1509[18] →* i1509[19])∧(i1519[18] →* i1519[19])∧(i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i1756[18])) →* java.lang.Object(java.lang.String(i1756[19]))))
(19) -> (10), if ((i1509[19] + 1 →* i1609[10])∧(java.lang.Object(ARRAY(i6[19], a17545data[19])) →* java.lang.Object(ARRAY(i6[10], a17545data[10])))∧(i1519[19] →* i1519[10]))
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(29) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(30) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD17214(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0]) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0],
java.lang.Object(
java.lang.String(
i1755[0])))
(1):
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1]))) →
COND_LOAD17214ARR1(
i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0,
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1])))
(2):
COND_LOAD17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2],
i1519[2],
java.lang.Object(
java.lang.String(
i1755[2]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2] + 1,
i1519[2])
(3):
INC22472(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3]) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3] + -1)
(4):
LOAD17214(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4]) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4],
java.lang.Object(
java.lang.String(
i1756[4])))
(5):
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5]))) →
COND_LOAD17214ARR2(
i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0,
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5])))
(6):
COND_LOAD17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6],
i1519[6],
java.lang.Object(
java.lang.String(
i1756[6]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6] + 1,
i1519[6] + -1)
(7):
LOAD17214(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7]) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7],
java.lang.Object(
java.lang.String(
i1755[7])))
(8):
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8]))) →
COND_LOAD17214ARR3(
i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0,
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8])))
(9):
COND_LOAD17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9],
i1519[9],
java.lang.Object(
java.lang.String(
i1755[9]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9] + 1,
i1519[9] + -1)
(10):
JMP22323'(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10]) →
INC22472(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10])
(11):
LOAD17214(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11]) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11],
java.lang.Object(
java.lang.String(
i1755[11])))
(12):
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12]))) →
COND_LOAD17214ARR4(
i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0,
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12])))
(13):
COND_LOAD17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13],
i1519[13],
java.lang.Object(
java.lang.String(
i1755[13]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13] + 1,
i1519[13])
(14):
LOAD17214(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14]) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14],
java.lang.Object(
java.lang.String(
i1756[14])))
(15):
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15]))) →
COND_LOAD17214ARR5(
i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0,
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15])))
(16):
COND_LOAD17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16],
i1519[16],
java.lang.Object(
java.lang.String(
i1756[16]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16] + 1,
i1519[16])
(17):
LOAD17214(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17]) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17],
java.lang.Object(
java.lang.String(
i1756[17])))
(18):
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18]))) →
COND_LOAD17214ARR8(
i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0,
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18])))
(19):
COND_LOAD17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19],
i1519[19],
java.lang.Object(
java.lang.String(
i1756[19]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19] + 1,
i1519[19])
(0) -> (1), if (((i6[0] →* i6[1])∧(a17545data[0] →* a17545data[1]))∧((i1755[0] →* i1755[1]))∧(i1519[0] →* i1519[1])∧(i1509[0] →* i1509[1]))
(1) -> (2), if ((i1509[1] →* i1509[2])∧(i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0 →* TRUE)∧(i1519[1] →* i1519[2])∧((i1755[1] →* i1755[2]))∧((i6[1] →* i6[2])∧(a17545data[1] →* a17545data[2])))
(2) -> (10), if ((i1519[2] →* i1519[10])∧(i1509[2] + 1 →* i1609[10])∧((i6[2] →* i6[10])∧(a17545data[2] →* a17545data[10])))
(3) -> (0), if ((i1519[3] + -1 →* i1519[0])∧((i6[3] →* i6[0])∧(a17545data[3] →* a17545data[0]))∧(i1609[3] →* i1509[0]))
(3) -> (4), if ((i1519[3] + -1 →* i1519[4])∧((i6[3] →* i6[4])∧(a17545data[3] →* a17545data[4]))∧(i1609[3] →* i1509[4]))
(3) -> (7), if ((i1609[3] →* i1509[7])∧((i6[3] →* i6[7])∧(a17545data[3] →* a17545data[7]))∧(i1519[3] + -1 →* i1519[7]))
(3) -> (11), if (((i6[3] →* i6[11])∧(a17545data[3] →* a17545data[11]))∧(i1609[3] →* i1509[11])∧(i1519[3] + -1 →* i1519[11]))
(3) -> (14), if ((i1609[3] →* i1509[14])∧(i1519[3] + -1 →* i1519[14])∧((i6[3] →* i6[14])∧(a17545data[3] →* a17545data[14])))
(3) -> (17), if ((i1519[3] + -1 →* i1519[17])∧((i6[3] →* i6[17])∧(a17545data[3] →* a17545data[17]))∧(i1609[3] →* i1509[17]))
(4) -> (5), if (((i1756[4] →* i1756[5]))∧(i1509[4] →* i1509[5])∧((i6[4] →* i6[5])∧(a17545data[4] →* a17545data[5]))∧(i1519[4] →* i1519[5]))
(5) -> (6), if (((i1756[5] →* i1756[6]))∧(i1519[5] →* i1519[6])∧((i6[5] →* i6[6])∧(a17545data[5] →* a17545data[6]))∧(i1509[5] →* i1509[6])∧(i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0 →* TRUE))
(6) -> (0), if ((i1519[6] + -1 →* i1519[0])∧(i1509[6] + 1 →* i1509[0])∧((i6[6] →* i6[0])∧(a17545data[6] →* a17545data[0])))
(6) -> (4), if ((i1509[6] + 1 →* i1509[4])∧((i6[6] →* i6[4])∧(a17545data[6] →* a17545data[4]))∧(i1519[6] + -1 →* i1519[4]))
(6) -> (7), if (((i6[6] →* i6[7])∧(a17545data[6] →* a17545data[7]))∧(i1519[6] + -1 →* i1519[7])∧(i1509[6] + 1 →* i1509[7]))
(6) -> (11), if ((i1519[6] + -1 →* i1519[11])∧(i1509[6] + 1 →* i1509[11])∧((i6[6] →* i6[11])∧(a17545data[6] →* a17545data[11])))
(6) -> (14), if ((i1509[6] + 1 →* i1509[14])∧((i6[6] →* i6[14])∧(a17545data[6] →* a17545data[14]))∧(i1519[6] + -1 →* i1519[14]))
(6) -> (17), if ((i1519[6] + -1 →* i1519[17])∧(i1509[6] + 1 →* i1509[17])∧((i6[6] →* i6[17])∧(a17545data[6] →* a17545data[17])))
(7) -> (8), if ((i1519[7] →* i1519[8])∧((i1755[7] →* i1755[8]))∧(i1509[7] →* i1509[8])∧((i6[7] →* i6[8])∧(a17545data[7] →* a17545data[8])))
(8) -> (9), if (((i1755[8] →* i1755[9]))∧(i1519[8] →* i1519[9])∧(i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0 →* TRUE)∧((i6[8] →* i6[9])∧(a17545data[8] →* a17545data[9]))∧(i1509[8] →* i1509[9]))
(9) -> (0), if ((i1519[9] + -1 →* i1519[0])∧((i6[9] →* i6[0])∧(a17545data[9] →* a17545data[0]))∧(i1509[9] + 1 →* i1509[0]))
(9) -> (4), if ((i1519[9] + -1 →* i1519[4])∧(i1509[9] + 1 →* i1509[4])∧((i6[9] →* i6[4])∧(a17545data[9] →* a17545data[4])))
(9) -> (7), if ((i1519[9] + -1 →* i1519[7])∧(i1509[9] + 1 →* i1509[7])∧((i6[9] →* i6[7])∧(a17545data[9] →* a17545data[7])))
(9) -> (11), if ((i1509[9] + 1 →* i1509[11])∧(i1519[9] + -1 →* i1519[11])∧((i6[9] →* i6[11])∧(a17545data[9] →* a17545data[11])))
(9) -> (14), if ((i1519[9] + -1 →* i1519[14])∧(i1509[9] + 1 →* i1509[14])∧((i6[9] →* i6[14])∧(a17545data[9] →* a17545data[14])))
(9) -> (17), if ((i1519[9] + -1 →* i1519[17])∧((i6[9] →* i6[17])∧(a17545data[9] →* a17545data[17]))∧(i1509[9] + 1 →* i1509[17]))
(10) -> (3), if ((i1519[10] →* i1519[3])∧(i1609[10] →* i1609[3])∧((i6[10] →* i6[3])∧(a17545data[10] →* a17545data[3])))
(11) -> (12), if (((i6[11] →* i6[12])∧(a17545data[11] →* a17545data[12]))∧((i1755[11] →* i1755[12]))∧(i1519[11] →* i1519[12])∧(i1509[11] →* i1509[12]))
(12) -> (13), if (((i1755[12] →* i1755[13]))∧((i6[12] →* i6[13])∧(a17545data[12] →* a17545data[13]))∧(i1519[12] →* i1519[13])∧(i1509[12] →* i1509[13])∧(i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0 →* TRUE))
(13) -> (3), if (((i6[13] →* i6[3])∧(a17545data[13] →* a17545data[3]))∧(i1519[13] →* i1519[3])∧(i1509[13] + 1 →* i1609[3]))
(14) -> (15), if (((i6[14] →* i6[15])∧(a17545data[14] →* a17545data[15]))∧((i1756[14] →* i1756[15]))∧(i1519[14] →* i1519[15])∧(i1509[14] →* i1509[15]))
(15) -> (16), if ((i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0 →* TRUE)∧((i6[15] →* i6[16])∧(a17545data[15] →* a17545data[16]))∧(i1519[15] →* i1519[16])∧((i1756[15] →* i1756[16]))∧(i1509[15] →* i1509[16]))
(16) -> (3), if ((i1509[16] + 1 →* i1609[3])∧((i6[16] →* i6[3])∧(a17545data[16] →* a17545data[3]))∧(i1519[16] →* i1519[3]))
(17) -> (18), if (((i6[17] →* i6[18])∧(a17545data[17] →* a17545data[18]))∧(i1509[17] →* i1509[18])∧((i1756[17] →* i1756[18]))∧(i1519[17] →* i1519[18]))
(18) -> (19), if (((i6[18] →* i6[19])∧(a17545data[18] →* a17545data[19]))∧(i1509[18] →* i1509[19])∧(i1519[18] →* i1519[19])∧(i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0 →* TRUE)∧((i1756[18] →* i1756[19])))
(19) -> (10), if ((i1509[19] + 1 →* i1609[10])∧((i6[19] →* i6[10])∧(a17545data[19] →* a17545data[10]))∧(i1519[19] →* i1519[10]))
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(31) 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
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0]) → LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0]))) which results in the following constraint:
(1) (LOAD17214(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0])≥LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))∧(UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥))
We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(2) ((UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(3) ((UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(4) ((UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(5) ((UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
COND_LOAD17214ARR1(
&&(
&&(
&&(
&&(
>(
i1755,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1]))) → COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1]))), COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a17545data[2])), i1509[2], i1519[2], java.lang.Object(java.lang.String(i1755[2]))) → JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2]) which results in the following constraint:
(6) (i1509[1]=i1509[2]∧&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0))=TRUE∧i1519[1]=i1519[2]∧i1755[1]=i1755[2]∧i6[1]=i6[2]∧a17545data[1]=a17545data[2] ⇒ LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))≥NonInfC∧LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))≥COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))∧(UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥))
We simplified constraint (6) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(7) (>(+(i1509[1], 1), 0)=TRUE∧>(i1519[1], 0)=TRUE∧<(i1509[1], i6[1])=TRUE∧>(i1755[1], 0)=TRUE∧>(i1509[1], 0)=TRUE ⇒ LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))≥NonInfC∧LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))≥COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))∧(UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) (i1509[1] ≥ 0∧i1519[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) (i1509[1] ≥ 0∧i1519[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) (i1509[1] ≥ 0∧i1519[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(11) (i1509[1] ≥ 0∧i1519[1] + [-1] ≥ 0∧i6[1] + [-1] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (11) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(12) ([1] + i1509[1] ≥ 0∧i1519[1] + [-1] ≥ 0∧i6[1] + [-2] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-4)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i1509[1] ≥ 0∧i1519[1] ≥ 0∧i6[1] + [-2] + [-1]i1509[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-3)bni_36 + (-1)Bound*bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] + [(-1)bni_36]i1509[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i1509[1] ≥ 0∧i1519[1] ≥ 0∧i6[1] ≥ 0∧i1755[1] + [-1] ≥ 0∧i1509[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i1509[1] ≥ 0∧i1519[1] ≥ 0∧i6[1] ≥ 0∧i1755[1] ≥ 0∧i1509[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
For Pair
COND_LOAD17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
i1519) the following chains were created:
- We consider the chain COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a17545data[2])), i1509[2], i1519[2], java.lang.Object(java.lang.String(i1755[2]))) → JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2]) which results in the following constraint:
(16) (COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a17545data[2])), i1509[2], i1519[2], java.lang.Object(java.lang.String(i1755[2])))≥NonInfC∧COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a17545data[2])), i1509[2], i1519[2], java.lang.Object(java.lang.String(i1755[2])))≥JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])∧(UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥)∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)
For Pair
INC22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
+(
i1519,
-1)) the following chains were created:
- We consider the chain INC22472(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], i1519[3]) → LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1)) which results in the following constraint:
(21) (INC22472(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], i1519[3])≥NonInfC∧INC22472(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], i1519[3])≥LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))∧(UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥))
We simplified constraint (21) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(22) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (22) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(23) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (23) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(24) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (24) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(25) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
For Pair
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4]) → LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4]))) which results in the following constraint:
(26) (LOAD17214(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4])≥LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))∧(UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥))
We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(27) ((UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥)∧[(-1)bso_43] ≥ 0)
We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(28) ((UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥)∧[(-1)bso_43] ≥ 0)
We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(29) ((UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥)∧[(-1)bso_43] ≥ 0)
We simplified constraint (29) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(30) ((UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)
For Pair
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
COND_LOAD17214ARR2(
&&(
&&(
&&(
&&(
<=(
i1756,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5]))) → COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5]))), COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a17545data[6])), i1509[6], i1519[6], java.lang.Object(java.lang.String(i1756[6]))) → LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1)) which results in the following constraint:
(31) (i1756[5]=i1756[6]∧i1519[5]=i1519[6]∧i6[5]=i6[6]∧a17545data[5]=a17545data[6]∧i1509[5]=i1509[6]∧&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0))=TRUE ⇒ LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))≥NonInfC∧LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))≥COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))∧(UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥))
We simplified constraint (31) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(32) (>(+(i1509[5], 1), 0)=TRUE∧>(i1519[5], 0)=TRUE∧<(i1509[5], i6[5])=TRUE∧<=(i1756[5], 0)=TRUE∧>(i1509[5], 0)=TRUE ⇒ LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))≥NonInfC∧LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))≥COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))∧(UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥))
We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(33) (i1509[5] ≥ 0∧i1519[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(34) (i1509[5] ≥ 0∧i1519[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(35) (i1509[5] ≥ 0∧i1519[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(36) (i1509[5] ≥ 0∧i1519[5] + [-1] ≥ 0∧i6[5] + [-1] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(37) ([1] + i1509[5] ≥ 0∧i1519[5] + [-1] ≥ 0∧i6[5] + [-2] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-4)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i1509[5] ≥ 0∧i1519[5] ≥ 0∧i6[5] + [-2] + [-1]i1509[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-3)bni_44 + (-1)Bound*bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] + [(-1)bni_44]i1509[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i1509[5] ≥ 0∧i1519[5] ≥ 0∧i6[5] ≥ 0∧[-1]i1756[5] ≥ 0∧i1509[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i1509[5] ≥ 0∧i1519[5] ≥ 0∧i6[5] ≥ 0∧i1756[5] ≥ 0∧i1509[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
For Pair
COND_LOAD17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
+(
i1519,
-1)) the following chains were created:
- We consider the chain COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a17545data[6])), i1509[6], i1519[6], java.lang.Object(java.lang.String(i1756[6]))) → LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1)) which results in the following constraint:
(41) (COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a17545data[6])), i1509[6], i1519[6], java.lang.Object(java.lang.String(i1756[6])))≥NonInfC∧COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a17545data[6])), i1509[6], i1519[6], java.lang.Object(java.lang.String(i1756[6])))≥LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))∧(UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥))
We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(42) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(43) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(44) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (44) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(45) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
For Pair
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7]) → LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7]))) which results in the following constraint:
(46) (LOAD17214(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7])≥LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))∧(UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥))
We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(47) ((UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥)∧[(-1)bso_49] ≥ 0)
We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(48) ((UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥)∧[(-1)bso_49] ≥ 0)
We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(49) ((UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥)∧[(-1)bso_49] ≥ 0)
We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(50) ((UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
COND_LOAD17214ARR3(
&&(
&&(
&&(
&&(
>(
i1755,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8]))) → COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8]))), COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a17545data[9])), i1509[9], i1519[9], java.lang.Object(java.lang.String(i1755[9]))) → LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1)) which results in the following constraint:
(51) (i1755[8]=i1755[9]∧i1519[8]=i1519[9]∧&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0))=TRUE∧i6[8]=i6[9]∧a17545data[8]=a17545data[9]∧i1509[8]=i1509[9] ⇒ LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))≥NonInfC∧LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))≥COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))∧(UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥))
We simplified constraint (51) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(52) (>(+(i1509[8], 1), 0)=TRUE∧>(i1519[8], 0)=TRUE∧<(i1509[8], i6[8])=TRUE∧>(i1755[8], 0)=TRUE∧>(i1509[8], 0)=TRUE ⇒ LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))≥NonInfC∧LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))≥COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))∧(UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥))
We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(53) (i1509[8] ≥ 0∧i1519[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(54) (i1509[8] ≥ 0∧i1519[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(55) (i1509[8] ≥ 0∧i1519[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(56) (i1509[8] ≥ 0∧i1519[8] + [-1] ≥ 0∧i6[8] + [-1] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (56) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(57) ([1] + i1509[8] ≥ 0∧i1519[8] + [-1] ≥ 0∧i6[8] + [-2] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-4)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (57) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(58) ([1] + i1509[8] ≥ 0∧i1519[8] ≥ 0∧i6[8] + [-2] + [-1]i1509[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-3)bni_50 + (-1)Bound*bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] + [(-1)bni_50]i1509[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(59) ([1] + i1509[8] ≥ 0∧i1519[8] ≥ 0∧i6[8] ≥ 0∧i1755[8] + [-1] ≥ 0∧i1509[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(60) ([1] + i1509[8] ≥ 0∧i1519[8] ≥ 0∧i6[8] ≥ 0∧i1755[8] ≥ 0∧i1509[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
For Pair
COND_LOAD17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
+(
i1519,
-1)) the following chains were created:
- We consider the chain COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a17545data[9])), i1509[9], i1519[9], java.lang.Object(java.lang.String(i1755[9]))) → LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1)) which results in the following constraint:
(61) (COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a17545data[9])), i1509[9], i1519[9], java.lang.Object(java.lang.String(i1755[9])))≥NonInfC∧COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a17545data[9])), i1509[9], i1519[9], java.lang.Object(java.lang.String(i1755[9])))≥LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))∧(UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥))
We simplified constraint (61) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(62) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)
We simplified constraint (62) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(63) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)
We simplified constraint (63) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(64) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥)∧[2 + (-1)bso_53] ≥ 0)
We simplified constraint (64) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(65) ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)
For Pair
JMP22323'(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) →
INC22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1609,
i1519) the following chains were created:
- We consider the chain JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10]) → INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10]), INC22472(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], i1519[3]) → LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1)) which results in the following constraint:
(66) (i1519[10]=i1519[3]∧i1609[10]=i1609[3]∧i6[10]=i6[3]∧a17545data[10]=a17545data[3] ⇒ JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])≥NonInfC∧JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])≥INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])∧(UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥))
We simplified constraint (66) using rule (IV) which results in the following new constraint:
(67) (JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])≥NonInfC∧JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])≥INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])∧(UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥)∧[(-1)bso_55] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
For Pair
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11]) → LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11]))) which results in the following constraint:
(72) (LOAD17214(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11])≥LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))∧(UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥)∧[(-1)bso_57] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥)∧[(-1)bso_57] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥)∧[(-1)bso_57] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
For Pair
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
COND_LOAD17214ARR4(
&&(
&&(
&&(
&&(
>(
i1755,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) the following chains were created:
- We consider the chain LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12]))) → COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12]))), COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a17545data[13])), i1509[13], i1519[13], java.lang.Object(java.lang.String(i1755[13]))) → INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13]) which results in the following constraint:
(77) (i1755[12]=i1755[13]∧i6[12]=i6[13]∧a17545data[12]=a17545data[13]∧i1519[12]=i1519[13]∧i1509[12]=i1509[13]∧&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0))=TRUE ⇒ LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))≥NonInfC∧LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))≥COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))∧(UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i1509[12], 1), 0)=TRUE∧>(i1519[12], 0)=TRUE∧<(i1509[12], i6[12])=TRUE∧>(i1755[12], 0)=TRUE∧>(i1509[12], 0)=TRUE ⇒ LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))≥NonInfC∧LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))≥COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))∧(UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i1509[12] ≥ 0∧i1519[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i1509[12] ≥ 0∧i1519[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i1509[12] ≥ 0∧i1519[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i1509[12] ≥ 0∧i1519[12] + [-1] ≥ 0∧i6[12] + [-1] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i1509[12] ≥ 0∧i1519[12] + [-1] ≥ 0∧i6[12] + [-2] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-4)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i1509[12] ≥ 0∧i1519[12] ≥ 0∧i6[12] + [-2] + [-1]i1509[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-3)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [(-1)bni_58]i1509[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i1509[12] ≥ 0∧i1519[12] ≥ 0∧i6[12] ≥ 0∧i1755[12] + [-1] ≥ 0∧i1509[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i1509[12] ≥ 0∧i1519[12] ≥ 0∧i6[12] ≥ 0∧i1755[12] ≥ 0∧i1509[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
For Pair
COND_LOAD17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1755))) →
INC22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
i1519) the following chains were created:
- We consider the chain COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a17545data[13])), i1509[13], i1519[13], java.lang.Object(java.lang.String(i1755[13]))) → INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13]) which results in the following constraint:
(87) (COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a17545data[13])), i1509[13], i1519[13], java.lang.Object(java.lang.String(i1755[13])))≥NonInfC∧COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a17545data[13])), i1509[13], i1519[13], java.lang.Object(java.lang.String(i1755[13])))≥INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])∧(UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥)∧[1 + (-1)bso_61] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)
For Pair
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14]) → LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14]))) which results in the following constraint:
(92) (LOAD17214(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14])≥LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))∧(UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥))
We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(93) ((UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥)∧[(-1)bso_63] ≥ 0)
We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(94) ((UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥)∧[(-1)bso_63] ≥ 0)
We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(95) ((UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥)∧[(-1)bso_63] ≥ 0)
We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(96) ((UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
For Pair
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
COND_LOAD17214ARR5(
&&(
&&(
&&(
&&(
<=(
i1756,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15]))) → COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15]))), COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a17545data[16])), i1509[16], i1519[16], java.lang.Object(java.lang.String(i1756[16]))) → INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16]) which results in the following constraint:
(97) (&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0))=TRUE∧i6[15]=i6[16]∧a17545data[15]=a17545data[16]∧i1519[15]=i1519[16]∧i1756[15]=i1756[16]∧i1509[15]=i1509[16] ⇒ LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))≥NonInfC∧LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))≥COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))∧(UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥))
We simplified constraint (97) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(98) (>(+(i1509[15], 1), 0)=TRUE∧>(i1519[15], 0)=TRUE∧<(i1509[15], i6[15])=TRUE∧<=(i1756[15], 0)=TRUE∧>(i1509[15], 0)=TRUE ⇒ LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))≥NonInfC∧LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))≥COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))∧(UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥))
We simplified constraint (98) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(99) (i1509[15] ≥ 0∧i1519[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (99) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(100) (i1509[15] ≥ 0∧i1519[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(101) (i1509[15] ≥ 0∧i1519[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(102) (i1509[15] ≥ 0∧i1519[15] + [-1] ≥ 0∧i6[15] + [-1] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (102) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(103) ([1] + i1509[15] ≥ 0∧i1519[15] + [-1] ≥ 0∧i6[15] + [-2] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-4)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (103) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(104) ([1] + i1509[15] ≥ 0∧i1519[15] ≥ 0∧i6[15] + [-2] + [-1]i1509[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-3)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [(-1)bni_64]i1509[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (104) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(105) ([1] + i1509[15] ≥ 0∧i1519[15] ≥ 0∧i6[15] ≥ 0∧[-1]i1756[15] ≥ 0∧i1509[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
We simplified constraint (105) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(106) ([1] + i1509[15] ≥ 0∧i1519[15] ≥ 0∧i6[15] ≥ 0∧i1756[15] ≥ 0∧i1509[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
For Pair
COND_LOAD17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
INC22472(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
i1519) the following chains were created:
- We consider the chain COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a17545data[16])), i1509[16], i1519[16], java.lang.Object(java.lang.String(i1756[16]))) → INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16]) which results in the following constraint:
(107) (COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a17545data[16])), i1509[16], i1519[16], java.lang.Object(java.lang.String(i1756[16])))≥NonInfC∧COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a17545data[16])), i1509[16], i1519[16], java.lang.Object(java.lang.String(i1756[16])))≥INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])∧(UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥))
We simplified constraint (107) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(108) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)
We simplified constraint (108) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(109) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)
We simplified constraint (109) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(110) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥)∧[1 + (-1)bso_67] ≥ 0)
We simplified constraint (110) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(111) ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)
For Pair
LOAD17214(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17]) → LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17]))) which results in the following constraint:
(112) (LOAD17214(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17])≥NonInfC∧LOAD17214(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17])≥LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))∧(UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥))
We simplified constraint (112) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(113) ((UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (113) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(114) ((UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (114) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(115) ((UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥)∧[(-1)bso_69] ≥ 0)
We simplified constraint (115) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(116) ((UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)
For Pair
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
COND_LOAD17214ARR8(
&&(
&&(
&&(
&&(
<=(
i1756,
0),
>(
i1509,
0)),
<(
i1509,
i6)),
>(
i1519,
0)),
>(
+(
i1509,
1),
0)),
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) the following chains were created:
- We consider the chain LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18]))) → COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18]))), COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a17545data[19])), i1509[19], i1519[19], java.lang.Object(java.lang.String(i1756[19]))) → JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19]) which results in the following constraint:
(117) (i6[18]=i6[19]∧a17545data[18]=a17545data[19]∧i1509[18]=i1509[19]∧i1519[18]=i1519[19]∧&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0))=TRUE∧i1756[18]=i1756[19] ⇒ LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))≥NonInfC∧LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))≥COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))∧(UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥))
We simplified constraint (117) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(118) (>(+(i1509[18], 1), 0)=TRUE∧>(i1519[18], 0)=TRUE∧<(i1509[18], i6[18])=TRUE∧<=(i1756[18], 0)=TRUE∧>(i1509[18], 0)=TRUE ⇒ LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))≥NonInfC∧LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))≥COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))∧(UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥))
We simplified constraint (118) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(119) (i1509[18] ≥ 0∧i1519[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (119) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(120) (i1509[18] ≥ 0∧i1519[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (120) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(121) (i1509[18] ≥ 0∧i1519[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (121) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(122) (i1509[18] ≥ 0∧i1519[18] + [-1] ≥ 0∧i6[18] + [-1] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (122) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(123) ([1] + i1509[18] ≥ 0∧i1519[18] + [-1] ≥ 0∧i6[18] + [-2] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-4)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (123) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(124) ([1] + i1509[18] ≥ 0∧i1519[18] ≥ 0∧i6[18] + [-2] + [-1]i1509[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-3)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [(-1)bni_70]i1509[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (124) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(125) ([1] + i1509[18] ≥ 0∧i1519[18] ≥ 0∧i6[18] ≥ 0∧[-1]i1756[18] ≥ 0∧i1509[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
We simplified constraint (125) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(126) ([1] + i1509[18] ≥ 0∧i1519[18] ≥ 0∧i6[18] ≥ 0∧i1756[18] ≥ 0∧i1509[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
For Pair
COND_LOAD17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6,
a17545data)),
i1509,
i1519,
java.lang.Object(
java.lang.String(
i1756))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6,
a17545data)),
+(
i1509,
1),
i1519) the following chains were created:
- We consider the chain COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a17545data[19])), i1509[19], i1519[19], java.lang.Object(java.lang.String(i1756[19]))) → JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19]) which results in the following constraint:
(127) (COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a17545data[19])), i1509[19], i1519[19], java.lang.Object(java.lang.String(i1756[19])))≥NonInfC∧COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a17545data[19])), i1509[19], i1519[19], java.lang.Object(java.lang.String(i1756[19])))≥JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])∧(UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥))
We simplified constraint (127) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(128) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (128) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(129) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (129) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(130) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥)∧[1 + (-1)bso_73] ≥ 0)
We simplified constraint (130) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(131) ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR1(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ((UIncreasing(LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- LOAD17214ARR1(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ([1] + i1509[1] ≥ 0∧i1519[1] ≥ 0∧i6[1] ≥ 0∧i1755[1] ≥ 0∧i1509[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))), ≥)∧0 = 0∧[(-1)Bound*bni_36 + (-1)bni_36] + [bni_36]i1519[1] + [bni_36]i6[1] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
- COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → JMP22323'(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), i1519)
- ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_39] ≥ 0)
- INC22472(java.lang.Object(ARRAY(i6, a17545data)), i1609, i1519) → LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1609, +(i1519, -1))
- ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR2(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ((UIncreasing(LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)
- LOAD17214ARR2(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ([1] + i1509[5] ≥ 0∧i1519[5] ≥ 0∧i6[5] ≥ 0∧i1756[5] ≥ 0∧i1509[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))), ≥)∧0 = 0∧[(-1)Bound*bni_44 + (-1)bni_44] + [bni_44]i1519[5] + [bni_44]i6[5] ≥ 0∧0 = 0∧[(-1)bso_45] ≥ 0)
- COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), +(i1519, -1))
- ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR3(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ((UIncreasing(LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- LOAD17214ARR3(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ([1] + i1509[8] ≥ 0∧i1519[8] ≥ 0∧i6[8] ≥ 0∧i1755[8] ≥ 0∧i1509[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))), ≥)∧0 = 0∧[(-1)Bound*bni_50 + (-1)bni_50] + [bni_50]i1519[8] + [bni_50]i6[8] ≥ 0∧0 = 0∧[(-1)bso_51] ≥ 0)
- COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), +(i1519, -1))
- ((UIncreasing(LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_53] ≥ 0)
- JMP22323'(java.lang.Object(ARRAY(i6, a17545data)), i1609, i1519) → INC22472(java.lang.Object(ARRAY(i6, a17545data)), i1609, i1519)
- ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR4(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ((UIncreasing(LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)
- LOAD17214ARR4(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755)))
- ([1] + i1509[12] ≥ 0∧i1519[12] ≥ 0∧i6[12] ≥ 0∧i1755[12] ≥ 0∧i1509[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))), ≥)∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] + [bni_58]i1519[12] + [bni_58]i6[12] ≥ 0∧0 = 0∧[(-1)bso_59] ≥ 0)
- COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1755))) → INC22472(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), i1519)
- ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_61] ≥ 0)
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR5(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ((UIncreasing(LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_63] ≥ 0)
- LOAD17214ARR5(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ([1] + i1509[15] ≥ 0∧i1519[15] ≥ 0∧i6[15] ≥ 0∧i1756[15] ≥ 0∧i1509[15] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))), ≥)∧0 = 0∧[(-1)bni_64 + (-1)Bound*bni_64] + [bni_64]i1519[15] + [bni_64]i6[15] ≥ 0∧0 = 0∧[(-1)bso_65] ≥ 0)
- COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → INC22472(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), i1519)
- ((UIncreasing(INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_67] ≥ 0)
- LOAD17214(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519) → LOAD17214ARR8(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ((UIncreasing(LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_69] ≥ 0)
- LOAD17214ARR8(java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756, 0), >(i1509, 0)), <(i1509, i6)), >(i1519, 0)), >(+(i1509, 1), 0)), java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756)))
- ([1] + i1509[18] ≥ 0∧i1519[18] ≥ 0∧i6[18] ≥ 0∧i1756[18] ≥ 0∧i1509[18] ≥ 0 ⇒ (UIncreasing(COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))), ≥)∧0 = 0∧[(-1)bni_70 + (-1)Bound*bni_70] + [bni_70]i1519[18] + [bni_70]i6[18] ≥ 0∧0 = 0∧[(-1)bso_71] ≥ 0)
- COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6, a17545data)), i1509, i1519, java.lang.Object(java.lang.String(i1756))) → JMP22323'(java.lang.Object(ARRAY(i6, a17545data)), +(i1509, 1), i1519)
- ((UIncreasing(JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_73] ≥ 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(LOAD17214(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [2] + [-1]x1
POL(LOAD17214ARR1(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1)) = x1
POL(COND_LOAD17214ARR1(x1, x2, x3, x4, x5)) = [-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(JMP22323'(x1, x2, x3)) = [-1] + [-1]x2 + x3 + [-1]x1
POL(INC22472(x1, x2, x3)) = [-1] + [-1]x1 + x3 + [-1]x2
POL(-1) = [-1]
POL(LOAD17214ARR2(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD17214ARR2(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(<=(x1, x2)) = [-1]
POL(LOAD17214ARR3(x1, x2, x3, x4)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD17214ARR3(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(LOAD17214ARR4(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD17214ARR4(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD17214ARR5(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD17214ARR5(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD17214ARR8(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD17214ARR8(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
COND_LOAD17214ARR1(TRUE, java.lang.Object(ARRAY(i6[2], a17545data[2])), i1509[2], i1519[2], java.lang.Object(java.lang.String(i1755[2]))) → JMP22323'(java.lang.Object(ARRAY(i6[2], a17545data[2])), +(i1509[2], 1), i1519[2])
INC22472(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], i1519[3]) → LOAD17214(java.lang.Object(ARRAY(i6[3], a17545data[3])), i1609[3], +(i1519[3], -1))
COND_LOAD17214ARR2(TRUE, java.lang.Object(ARRAY(i6[6], a17545data[6])), i1509[6], i1519[6], java.lang.Object(java.lang.String(i1756[6]))) → LOAD17214(java.lang.Object(ARRAY(i6[6], a17545data[6])), +(i1509[6], 1), +(i1519[6], -1))
COND_LOAD17214ARR3(TRUE, java.lang.Object(ARRAY(i6[9], a17545data[9])), i1509[9], i1519[9], java.lang.Object(java.lang.String(i1755[9]))) → LOAD17214(java.lang.Object(ARRAY(i6[9], a17545data[9])), +(i1509[9], 1), +(i1519[9], -1))
COND_LOAD17214ARR4(TRUE, java.lang.Object(ARRAY(i6[13], a17545data[13])), i1509[13], i1519[13], java.lang.Object(java.lang.String(i1755[13]))) → INC22472(java.lang.Object(ARRAY(i6[13], a17545data[13])), +(i1509[13], 1), i1519[13])
COND_LOAD17214ARR5(TRUE, java.lang.Object(ARRAY(i6[16], a17545data[16])), i1509[16], i1519[16], java.lang.Object(java.lang.String(i1756[16]))) → INC22472(java.lang.Object(ARRAY(i6[16], a17545data[16])), +(i1509[16], 1), i1519[16])
COND_LOAD17214ARR8(TRUE, java.lang.Object(ARRAY(i6[19], a17545data[19])), i1509[19], i1519[19], java.lang.Object(java.lang.String(i1756[19]))) → JMP22323'(java.lang.Object(ARRAY(i6[19], a17545data[19])), +(i1509[19], 1), i1519[19])
The following pairs are in P
bound:
LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1]))) → COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))
LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5]))) → COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))
LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8]))) → COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))
LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12]))) → COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))
LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15]))) → COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))
LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18]))) → COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))
The following pairs are in P
≥:
LOAD17214(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0]) → LOAD17214ARR1(java.lang.Object(ARRAY(i6[0], a17545data[0])), i1509[0], i1519[0], java.lang.Object(java.lang.String(i1755[0])))
LOAD17214ARR1(java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1]))) → COND_LOAD17214ARR1(&&(&&(&&(&&(>(i1755[1], 0), >(i1509[1], 0)), <(i1509[1], i6[1])), >(i1519[1], 0)), >(+(i1509[1], 1), 0)), java.lang.Object(ARRAY(i6[1], a17545data[1])), i1509[1], i1519[1], java.lang.Object(java.lang.String(i1755[1])))
LOAD17214(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4]) → LOAD17214ARR2(java.lang.Object(ARRAY(i6[4], a17545data[4])), i1509[4], i1519[4], java.lang.Object(java.lang.String(i1756[4])))
LOAD17214ARR2(java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5]))) → COND_LOAD17214ARR2(&&(&&(&&(&&(<=(i1756[5], 0), >(i1509[5], 0)), <(i1509[5], i6[5])), >(i1519[5], 0)), >(+(i1509[5], 1), 0)), java.lang.Object(ARRAY(i6[5], a17545data[5])), i1509[5], i1519[5], java.lang.Object(java.lang.String(i1756[5])))
LOAD17214(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7]) → LOAD17214ARR3(java.lang.Object(ARRAY(i6[7], a17545data[7])), i1509[7], i1519[7], java.lang.Object(java.lang.String(i1755[7])))
LOAD17214ARR3(java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8]))) → COND_LOAD17214ARR3(&&(&&(&&(&&(>(i1755[8], 0), >(i1509[8], 0)), <(i1509[8], i6[8])), >(i1519[8], 0)), >(+(i1509[8], 1), 0)), java.lang.Object(ARRAY(i6[8], a17545data[8])), i1509[8], i1519[8], java.lang.Object(java.lang.String(i1755[8])))
JMP22323'(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10]) → INC22472(java.lang.Object(ARRAY(i6[10], a17545data[10])), i1609[10], i1519[10])
LOAD17214(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11]) → LOAD17214ARR4(java.lang.Object(ARRAY(i6[11], a17545data[11])), i1509[11], i1519[11], java.lang.Object(java.lang.String(i1755[11])))
LOAD17214ARR4(java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12]))) → COND_LOAD17214ARR4(&&(&&(&&(&&(>(i1755[12], 0), >(i1509[12], 0)), <(i1509[12], i6[12])), >(i1519[12], 0)), >(+(i1509[12], 1), 0)), java.lang.Object(ARRAY(i6[12], a17545data[12])), i1509[12], i1519[12], java.lang.Object(java.lang.String(i1755[12])))
LOAD17214(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14]) → LOAD17214ARR5(java.lang.Object(ARRAY(i6[14], a17545data[14])), i1509[14], i1519[14], java.lang.Object(java.lang.String(i1756[14])))
LOAD17214ARR5(java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15]))) → COND_LOAD17214ARR5(&&(&&(&&(&&(<=(i1756[15], 0), >(i1509[15], 0)), <(i1509[15], i6[15])), >(i1519[15], 0)), >(+(i1509[15], 1), 0)), java.lang.Object(ARRAY(i6[15], a17545data[15])), i1509[15], i1519[15], java.lang.Object(java.lang.String(i1756[15])))
LOAD17214(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17]) → LOAD17214ARR8(java.lang.Object(ARRAY(i6[17], a17545data[17])), i1509[17], i1519[17], java.lang.Object(java.lang.String(i1756[17])))
LOAD17214ARR8(java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18]))) → COND_LOAD17214ARR8(&&(&&(&&(&&(<=(i1756[18], 0), >(i1509[18], 0)), <(i1509[18], i6[18])), >(i1519[18], 0)), >(+(i1509[18], 1), 0)), java.lang.Object(ARRAY(i6[18], a17545data[18])), i1509[18], i1519[18], java.lang.Object(java.lang.String(i1756[18])))
There are no usable rules.
(32) Complex Obligation (AND)
(33) 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):
LOAD17214(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0]) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0],
java.lang.Object(
java.lang.String(
i1755[0])))
(1):
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1]))) →
COND_LOAD17214ARR1(
i1755[1] > 0 && i1509[1] > 0 && i1509[1] < i6[1] && i1519[1] > 0 && i1509[1] + 1 > 0,
java.lang.Object(
ARRAY(
i6[1],
a17545data[1])),
i1509[1],
i1519[1],
java.lang.Object(
java.lang.String(
i1755[1])))
(4):
LOAD17214(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4]) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4],
java.lang.Object(
java.lang.String(
i1756[4])))
(5):
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5]))) →
COND_LOAD17214ARR2(
i1756[5] <= 0 && i1509[5] > 0 && i1509[5] < i6[5] && i1519[5] > 0 && i1509[5] + 1 > 0,
java.lang.Object(
ARRAY(
i6[5],
a17545data[5])),
i1509[5],
i1519[5],
java.lang.Object(
java.lang.String(
i1756[5])))
(7):
LOAD17214(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7]) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7],
java.lang.Object(
java.lang.String(
i1755[7])))
(8):
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8]))) →
COND_LOAD17214ARR3(
i1755[8] > 0 && i1509[8] > 0 && i1509[8] < i6[8] && i1519[8] > 0 && i1509[8] + 1 > 0,
java.lang.Object(
ARRAY(
i6[8],
a17545data[8])),
i1509[8],
i1519[8],
java.lang.Object(
java.lang.String(
i1755[8])))
(10):
JMP22323'(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10]) →
INC22472(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10])
(11):
LOAD17214(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11]) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11],
java.lang.Object(
java.lang.String(
i1755[11])))
(12):
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12]))) →
COND_LOAD17214ARR4(
i1755[12] > 0 && i1509[12] > 0 && i1509[12] < i6[12] && i1519[12] > 0 && i1509[12] + 1 > 0,
java.lang.Object(
ARRAY(
i6[12],
a17545data[12])),
i1509[12],
i1519[12],
java.lang.Object(
java.lang.String(
i1755[12])))
(14):
LOAD17214(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14]) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14],
java.lang.Object(
java.lang.String(
i1756[14])))
(15):
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15]))) →
COND_LOAD17214ARR5(
i1756[15] <= 0 && i1509[15] > 0 && i1509[15] < i6[15] && i1519[15] > 0 && i1509[15] + 1 > 0,
java.lang.Object(
ARRAY(
i6[15],
a17545data[15])),
i1509[15],
i1519[15],
java.lang.Object(
java.lang.String(
i1756[15])))
(17):
LOAD17214(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17]) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17],
java.lang.Object(
java.lang.String(
i1756[17])))
(18):
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18]))) →
COND_LOAD17214ARR8(
i1756[18] <= 0 && i1509[18] > 0 && i1509[18] < i6[18] && i1519[18] > 0 && i1509[18] + 1 > 0,
java.lang.Object(
ARRAY(
i6[18],
a17545data[18])),
i1509[18],
i1519[18],
java.lang.Object(
java.lang.String(
i1756[18])))
(0) -> (1), if (((i6[0] →* i6[1])∧(a17545data[0] →* a17545data[1]))∧((i1755[0] →* i1755[1]))∧(i1519[0] →* i1519[1])∧(i1509[0] →* i1509[1]))
(4) -> (5), if (((i1756[4] →* i1756[5]))∧(i1509[4] →* i1509[5])∧((i6[4] →* i6[5])∧(a17545data[4] →* a17545data[5]))∧(i1519[4] →* i1519[5]))
(7) -> (8), if ((i1519[7] →* i1519[8])∧((i1755[7] →* i1755[8]))∧(i1509[7] →* i1509[8])∧((i6[7] →* i6[8])∧(a17545data[7] →* a17545data[8])))
(11) -> (12), if (((i6[11] →* i6[12])∧(a17545data[11] →* a17545data[12]))∧((i1755[11] →* i1755[12]))∧(i1519[11] →* i1519[12])∧(i1509[11] →* i1509[12]))
(14) -> (15), if (((i6[14] →* i6[15])∧(a17545data[14] →* a17545data[15]))∧((i1756[14] →* i1756[15]))∧(i1519[14] →* i1519[15])∧(i1509[14] →* i1509[15]))
(17) -> (18), if (((i6[17] →* i6[18])∧(a17545data[17] →* a17545data[18]))∧(i1509[17] →* i1509[18])∧((i1756[17] →* i1756[18]))∧(i1519[17] →* i1519[18]))
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(34) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 13 less nodes.
(35) TRUE
(36) 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:
(0):
LOAD17214(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0]) →
LOAD17214ARR1(
java.lang.Object(
ARRAY(
i6[0],
a17545data[0])),
i1509[0],
i1519[0],
java.lang.Object(
java.lang.String(
i1755[0])))
(2):
COND_LOAD17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2],
i1519[2],
java.lang.Object(
java.lang.String(
i1755[2]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[2],
a17545data[2])),
i1509[2] + 1,
i1519[2])
(3):
INC22472(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3]) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[3],
a17545data[3])),
i1609[3],
i1519[3] + -1)
(4):
LOAD17214(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4]) →
LOAD17214ARR2(
java.lang.Object(
ARRAY(
i6[4],
a17545data[4])),
i1509[4],
i1519[4],
java.lang.Object(
java.lang.String(
i1756[4])))
(6):
COND_LOAD17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6],
i1519[6],
java.lang.Object(
java.lang.String(
i1756[6]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[6],
a17545data[6])),
i1509[6] + 1,
i1519[6] + -1)
(7):
LOAD17214(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7]) →
LOAD17214ARR3(
java.lang.Object(
ARRAY(
i6[7],
a17545data[7])),
i1509[7],
i1519[7],
java.lang.Object(
java.lang.String(
i1755[7])))
(9):
COND_LOAD17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9],
i1519[9],
java.lang.Object(
java.lang.String(
i1755[9]))) →
LOAD17214(
java.lang.Object(
ARRAY(
i6[9],
a17545data[9])),
i1509[9] + 1,
i1519[9] + -1)
(10):
JMP22323'(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10]) →
INC22472(
java.lang.Object(
ARRAY(
i6[10],
a17545data[10])),
i1609[10],
i1519[10])
(11):
LOAD17214(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11]) →
LOAD17214ARR4(
java.lang.Object(
ARRAY(
i6[11],
a17545data[11])),
i1509[11],
i1519[11],
java.lang.Object(
java.lang.String(
i1755[11])))
(13):
COND_LOAD17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13],
i1519[13],
java.lang.Object(
java.lang.String(
i1755[13]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[13],
a17545data[13])),
i1509[13] + 1,
i1519[13])
(14):
LOAD17214(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14]) →
LOAD17214ARR5(
java.lang.Object(
ARRAY(
i6[14],
a17545data[14])),
i1509[14],
i1519[14],
java.lang.Object(
java.lang.String(
i1756[14])))
(16):
COND_LOAD17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16],
i1519[16],
java.lang.Object(
java.lang.String(
i1756[16]))) →
INC22472(
java.lang.Object(
ARRAY(
i6[16],
a17545data[16])),
i1509[16] + 1,
i1519[16])
(17):
LOAD17214(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17]) →
LOAD17214ARR8(
java.lang.Object(
ARRAY(
i6[17],
a17545data[17])),
i1509[17],
i1519[17],
java.lang.Object(
java.lang.String(
i1756[17])))
(19):
COND_LOAD17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19],
i1519[19],
java.lang.Object(
java.lang.String(
i1756[19]))) →
JMP22323'(
java.lang.Object(
ARRAY(
i6[19],
a17545data[19])),
i1509[19] + 1,
i1519[19])
(3) -> (0), if ((i1519[3] + -1 →* i1519[0])∧((i6[3] →* i6[0])∧(a17545data[3] →* a17545data[0]))∧(i1609[3] →* i1509[0]))
(6) -> (0), if ((i1519[6] + -1 →* i1519[0])∧(i1509[6] + 1 →* i1509[0])∧((i6[6] →* i6[0])∧(a17545data[6] →* a17545data[0])))
(9) -> (0), if ((i1519[9] + -1 →* i1519[0])∧((i6[9] →* i6[0])∧(a17545data[9] →* a17545data[0]))∧(i1509[9] + 1 →* i1509[0]))
(10) -> (3), if ((i1519[10] →* i1519[3])∧(i1609[10] →* i1609[3])∧((i6[10] →* i6[3])∧(a17545data[10] →* a17545data[3])))
(13) -> (3), if (((i6[13] →* i6[3])∧(a17545data[13] →* a17545data[3]))∧(i1519[13] →* i1519[3])∧(i1509[13] + 1 →* i1609[3]))
(16) -> (3), if ((i1509[16] + 1 →* i1609[3])∧((i6[16] →* i6[3])∧(a17545data[16] →* a17545data[3]))∧(i1519[16] →* i1519[3]))
(3) -> (4), if ((i1519[3] + -1 →* i1519[4])∧((i6[3] →* i6[4])∧(a17545data[3] →* a17545data[4]))∧(i1609[3] →* i1509[4]))
(6) -> (4), if ((i1509[6] + 1 →* i1509[4])∧((i6[6] →* i6[4])∧(a17545data[6] →* a17545data[4]))∧(i1519[6] + -1 →* i1519[4]))
(9) -> (4), if ((i1519[9] + -1 →* i1519[4])∧(i1509[9] + 1 →* i1509[4])∧((i6[9] →* i6[4])∧(a17545data[9] →* a17545data[4])))
(3) -> (7), if ((i1609[3] →* i1509[7])∧((i6[3] →* i6[7])∧(a17545data[3] →* a17545data[7]))∧(i1519[3] + -1 →* i1519[7]))
(6) -> (7), if (((i6[6] →* i6[7])∧(a17545data[6] →* a17545data[7]))∧(i1519[6] + -1 →* i1519[7])∧(i1509[6] + 1 →* i1509[7]))
(9) -> (7), if ((i1519[9] + -1 →* i1519[7])∧(i1509[9] + 1 →* i1509[7])∧((i6[9] →* i6[7])∧(a17545data[9] →* a17545data[7])))
(2) -> (10), if ((i1519[2] →* i1519[10])∧(i1509[2] + 1 →* i1609[10])∧((i6[2] →* i6[10])∧(a17545data[2] →* a17545data[10])))
(19) -> (10), if ((i1509[19] + 1 →* i1609[10])∧((i6[19] →* i6[10])∧(a17545data[19] →* a17545data[10]))∧(i1519[19] →* i1519[10]))
(3) -> (11), if (((i6[3] →* i6[11])∧(a17545data[3] →* a17545data[11]))∧(i1609[3] →* i1509[11])∧(i1519[3] + -1 →* i1519[11]))
(6) -> (11), if ((i1519[6] + -1 →* i1519[11])∧(i1509[6] + 1 →* i1509[11])∧((i6[6] →* i6[11])∧(a17545data[6] →* a17545data[11])))
(9) -> (11), if ((i1509[9] + 1 →* i1509[11])∧(i1519[9] + -1 →* i1519[11])∧((i6[9] →* i6[11])∧(a17545data[9] →* a17545data[11])))
(3) -> (14), if ((i1609[3] →* i1509[14])∧(i1519[3] + -1 →* i1519[14])∧((i6[3] →* i6[14])∧(a17545data[3] →* a17545data[14])))
(6) -> (14), if ((i1509[6] + 1 →* i1509[14])∧((i6[6] →* i6[14])∧(a17545data[6] →* a17545data[14]))∧(i1519[6] + -1 →* i1519[14]))
(9) -> (14), if ((i1519[9] + -1 →* i1519[14])∧(i1509[9] + 1 →* i1509[14])∧((i6[9] →* i6[14])∧(a17545data[9] →* a17545data[14])))
(3) -> (17), if ((i1519[3] + -1 →* i1519[17])∧((i6[3] →* i6[17])∧(a17545data[3] →* a17545data[17]))∧(i1609[3] →* i1509[17]))
(6) -> (17), if ((i1519[6] + -1 →* i1519[17])∧(i1509[6] + 1 →* i1509[17])∧((i6[6] →* i6[17])∧(a17545data[6] →* a17545data[17])))
(9) -> (17), if ((i1519[9] + -1 →* i1519[17])∧((i6[9] →* i6[17])∧(a17545data[9] →* a17545data[17]))∧(i1509[9] + 1 →* i1509[17]))
The set Q consists of the following terms:
Load17214(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Inc22472(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
JMP22323(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load17214ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Load17214ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
Cond_Load17214ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4)))
(37) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 14 less nodes.
(38) TRUE