(0) Obligation:
JBC Problem based on JBC Program:
No human-readable program information known.
Manifest-Version: 1.0
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: DuplicateNodes
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 954 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:
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004))) →
Load23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Load23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Cond_Load23197ARR1(
i6214 >= 0 && i6214 <= 42 && i6073 > 0 && i6073 < i3 && i6073 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1,
o41003)
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010))) →
Load23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Load23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Cond_Load23197ARR2(
i6214 > 42 && i6073 > 0 && i6073 < i3 && i6073 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1,
o41008)
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(6) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(7) 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:
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004))) →
Load23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Load23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Cond_Load23197ARR1(
i6214 >= 0 && i6214 <= 42 && i6073 > 0 && i6073 < i3 && i6073 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1,
o41003)
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010))) →
Load23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Load23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Cond_Load23197ARR2(
i6214 > 42 && i6073 > 0 && i6073 < i3 && i6073 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
Load23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1,
o41008)
The integer pair graph contains the following rules and edges:
(0):
LOAD23197(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0]))) →
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0])),
java.lang.Object(
java.lang.String(
i6214[0],
i6213[0],
i6215[0],
a43959[0])))
(1):
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1]))) →
COND_LOAD23197ARR1(
i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1])))
(2):
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[2],
o41003[2],
NULL)),
o41003[2],
o41004[2])),
java.lang.Object(
java.lang.String(
i6214[2],
i6213[2],
i6215[2],
a43959[2]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1,
o41003[2])
(3):
LOAD23197(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3]))) →
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3])),
java.lang.Object(
java.lang.String(
i6214[3],
i6213[3],
i6215[3],
a43959[3])))
(4):
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4]))) →
COND_LOAD23197ARR2(
i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4])))
(5):
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
java.lang.Object(
Tree(
o41008[5],
java.lang.Object(
Tree(
o41008[5],
o41009[5],
NULL)),
o41010[5])),
java.lang.Object(
java.lang.String(
i6214[5],
i6213[5],
i6215[5],
a43959[5]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5] + 1,
o41008[5])
(0) -> (1), if ((java.lang.Object(ARRAY(i3[0], a43225data[0])) →* java.lang.Object(ARRAY(i3[1], a43225data[1])))∧(java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])))∧(java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])) →* java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))∧(i6073[0] →* i6073[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a43225data[1])) →* java.lang.Object(ARRAY(i3[2], a43225data[2])))∧(i6073[1] →* i6073[2])∧(i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0 →* TRUE)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])))∧(java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])) →* java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2]))))
(2) -> (0), if ((i6073[2] + 1 →* i6073[0])∧(o41003[2] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧(java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[0], a43225data[0]))))
(2) -> (3), if ((o41003[2] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))∧(java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6073[2] + 1 →* i6073[3]))
(3) -> (4), if ((java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])) →* java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))∧(i6073[3] →* i6073[4])∧(java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])) →* java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4]))))
(4) -> (5), if ((java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])) →* java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5])))∧(java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])) →* java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])))∧(i6073[4] →* i6073[5])∧(i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i3[4], a43225data[4])) →* java.lang.Object(ARRAY(i3[5], a43225data[5]))))
(5) -> (0), if ((o41008[5] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6073[5] + 1 →* i6073[0]))
(5) -> (3), if ((i6073[5] + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(o41008[5] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))))
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(8) 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.
(9) 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):
LOAD23197(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0]))) →
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0])),
java.lang.Object(
java.lang.String(
i6214[0],
i6213[0],
i6215[0],
a43959[0])))
(1):
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1]))) →
COND_LOAD23197ARR1(
i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1])))
(2):
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[2],
o41003[2],
NULL)),
o41003[2],
o41004[2])),
java.lang.Object(
java.lang.String(
i6214[2],
i6213[2],
i6215[2],
a43959[2]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1,
o41003[2])
(3):
LOAD23197(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3]))) →
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3])),
java.lang.Object(
java.lang.String(
i6214[3],
i6213[3],
i6215[3],
a43959[3])))
(4):
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4]))) →
COND_LOAD23197ARR2(
i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4])))
(5):
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
java.lang.Object(
Tree(
o41008[5],
java.lang.Object(
Tree(
o41008[5],
o41009[5],
NULL)),
o41010[5])),
java.lang.Object(
java.lang.String(
i6214[5],
i6213[5],
i6215[5],
a43959[5]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5] + 1,
o41008[5])
(0) -> (1), if ((java.lang.Object(ARRAY(i3[0], a43225data[0])) →* java.lang.Object(ARRAY(i3[1], a43225data[1])))∧(java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])))∧(java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])) →* java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))∧(i6073[0] →* i6073[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a43225data[1])) →* java.lang.Object(ARRAY(i3[2], a43225data[2])))∧(i6073[1] →* i6073[2])∧(i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0 →* TRUE)∧(java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])) →* java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])))∧(java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])) →* java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2]))))
(2) -> (0), if ((i6073[2] + 1 →* i6073[0])∧(o41003[2] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧(java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[0], a43225data[0]))))
(2) -> (3), if ((o41003[2] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))∧(java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6073[2] + 1 →* i6073[3]))
(3) -> (4), if ((java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])) →* java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))∧(i6073[3] →* i6073[4])∧(java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])) →* java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4]))))
(4) -> (5), if ((java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])) →* java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5])))∧(java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])) →* java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])))∧(i6073[4] →* i6073[5])∧(i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i3[4], a43225data[4])) →* java.lang.Object(ARRAY(i3[5], a43225data[5]))))
(5) -> (0), if ((o41008[5] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6073[5] + 1 →* i6073[0]))
(5) -> (3), if ((i6073[5] + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(o41008[5] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))))
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(10) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(11) 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):
LOAD23197(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0]))) →
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0])),
java.lang.Object(
java.lang.String(
i6214[0],
i6213[0],
i6215[0],
a43959[0])))
(1):
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1]))) →
COND_LOAD23197ARR1(
i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1])))
(2):
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[2],
o41003[2],
NULL)),
o41003[2],
o41004[2])),
java.lang.Object(
java.lang.String(
i6214[2],
i6213[2],
i6215[2],
a43959[2]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1,
o41003[2])
(3):
LOAD23197(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3]))) →
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3])),
java.lang.Object(
java.lang.String(
i6214[3],
i6213[3],
i6215[3],
a43959[3])))
(4):
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4]))) →
COND_LOAD23197ARR2(
i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4])))
(5):
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
java.lang.Object(
Tree(
o41008[5],
java.lang.Object(
Tree(
o41008[5],
o41009[5],
NULL)),
o41010[5])),
java.lang.Object(
java.lang.String(
i6214[5],
i6213[5],
i6215[5],
a43959[5]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5] + 1,
o41008[5])
(0) -> (1), if (((i3[0] →* i3[1])∧(a43225data[0] →* a43225data[1]))∧((o41002[0] →* java.lang.Object(Tree(o41002[1], o41003[1], NULL)))∧(o41003[0] →* o41003[1])∧(o41004[0] →* o41004[1]))∧((i6214[0] →* i6214[1])∧(i6213[0] →* i6213[1])∧(i6215[0] →* i6215[1])∧(a43959[0] →* a43959[1]))∧(i6073[0] →* i6073[1]))
(1) -> (2), if (((i3[1] →* i3[2])∧(a43225data[1] →* a43225data[2]))∧(i6073[1] →* i6073[2])∧(i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0 →* TRUE)∧((o41002[1] →* o41002[2])∧(o41003[1] →* o41003[2])∧(o41004[1] →* o41004[2]))∧((i6214[1] →* i6214[2])∧(i6213[1] →* i6213[2])∧(i6215[1] →* i6215[2])∧(a43959[1] →* a43959[2])))
(2) -> (0), if ((i6073[2] + 1 →* i6073[0])∧(o41003[2] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧((i3[2] →* i3[0])∧(a43225data[2] →* a43225data[0])))
(2) -> (3), if ((o41003[2] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))∧((i3[2] →* i3[3])∧(a43225data[2] →* a43225data[3]))∧(i6073[2] + 1 →* i6073[3]))
(3) -> (4), if (((i3[3] →* i3[4])∧(a43225data[3] →* a43225data[4]))∧((i6214[3] →* i6214[4])∧(i6213[3] →* i6213[4])∧(i6215[3] →* i6215[4])∧(a43959[3] →* a43959[4]))∧(i6073[3] →* i6073[4])∧((o41008[3] →* o41008[4])∧(o41009[3] →* java.lang.Object(Tree(o41008[4], o41009[4], NULL)))∧(o41010[3] →* o41010[4])))
(4) -> (5), if (((i6214[4] →* i6214[5])∧(i6213[4] →* i6213[5])∧(i6215[4] →* i6215[5])∧(a43959[4] →* a43959[5]))∧((o41008[4] →* o41008[5])∧(o41009[4] →* o41009[5])∧(o41010[4] →* o41010[5]))∧(i6073[4] →* i6073[5])∧(i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0 →* TRUE)∧((i3[4] →* i3[5])∧(a43225data[4] →* a43225data[5])))
(5) -> (0), if ((o41008[5] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧((i3[5] →* i3[0])∧(a43225data[5] →* a43225data[0]))∧(i6073[5] + 1 →* i6073[0]))
(5) -> (3), if ((i6073[5] + 1 →* i6073[3])∧((i3[5] →* i3[3])∧(a43225data[5] →* a43225data[3]))∧(o41008[5] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))))
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(12) 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
LOAD23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004))) →
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41002,
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) the following chains were created:
- We consider the chain LOAD23197(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0]))) → LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0]))) which results in the following constraint:
(1) (LOAD23197(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))≥NonInfC∧LOAD23197(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))≥LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))∧(UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥))
We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(2) ((UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥)∧[1 + (-1)bso_28] ≥ 0)
We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(3) ((UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥)∧[1 + (-1)bso_28] ≥ 0)
We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(4) ((UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥)∧[1 + (-1)bso_28] ≥ 0)
We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(5) ((UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_28] ≥ 0)
For Pair
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
COND_LOAD23197ARR1(
&&(
&&(
&&(
&&(
>=(
i6214,
0),
<=(
i6214,
42)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
+(
i6073,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) the following chains were created:
- We consider the chain LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1]))) → COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1]))), COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])), java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2]))) → LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2]) which results in the following constraint:
(6) (i3[1]=i3[2]∧a43225data[1]=a43225data[2]∧i6073[1]=i6073[2]∧&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0))=TRUE∧o41002[1]=o41002[2]∧o41003[1]=o41003[2]∧o41004[1]=o41004[2]∧i6214[1]=i6214[2]∧i6213[1]=i6213[2]∧i6215[1]=i6215[2]∧a43959[1]=a43959[2] ⇒ LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))≥NonInfC∧LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))≥COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))∧(UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥))
We simplified constraint (6) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(7) (>(+(i6073[1], 1), 0)=TRUE∧<(i6073[1], i3[1])=TRUE∧>(i6073[1], 0)=TRUE∧>=(i6214[1], 0)=TRUE∧<=(i6214[1], 42)=TRUE ⇒ LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))≥NonInfC∧LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))≥COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))∧(UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) (i6073[1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i6073[1] + [bni_29]i3[1] ≥ 0∧[(-1)bso_30] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) (i6073[1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i6073[1] + [bni_29]i3[1] ≥ 0∧[(-1)bso_30] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) (i6073[1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i6073[1] + [bni_29]i3[1] ≥ 0∧[(-1)bso_30] ≥ 0)
We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(11) (i6073[1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_29 + (-1)Bound*bni_29] + [(-1)bni_29]i6073[1] + [bni_29]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
We simplified constraint (11) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(12) ([1] + i6073[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0∧i6073[1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_29] + [(-1)bni_29]i6073[1] + [bni_29]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i6073[1] ≥ 0∧i3[1] ≥ 0∧i6073[1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_29 + (2)bni_29] + [bni_29]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
For Pair
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002,
o41003,
NULL)),
o41003,
o41004)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
i6073,
1),
o41003) the following chains were created:
- We consider the chain COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])), java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2]))) → LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2]) which results in the following constraint:
(14) (COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])), java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2])))≥NonInfC∧COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])), java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2])))≥LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])∧(UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥))
We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(15) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(16) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(17) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥)∧[(-1)bso_32] ≥ 0)
We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(18) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
For Pair
LOAD23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010))) →
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
o41009,
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) the following chains were created:
- We consider the chain LOAD23197(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))) → LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3]))) which results in the following constraint:
(19) (LOAD23197(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))≥NonInfC∧LOAD23197(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))≥LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))∧(UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥))
We simplified constraint (19) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(20) ((UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥)∧[1 + (-1)bso_34] ≥ 0)
We simplified constraint (20) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(21) ((UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥)∧[1 + (-1)bso_34] ≥ 0)
We simplified constraint (21) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(22) ((UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥)∧[1 + (-1)bso_34] ≥ 0)
We simplified constraint (22) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(23) ((UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_34] ≥ 0)
For Pair
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
COND_LOAD23197ARR2(
&&(
&&(
&&(
>(
i6214,
42),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
+(
i6073,
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) the following chains were created:
- We consider the chain LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4]))) → COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4]))), COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])), java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5]))) → LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5]) which results in the following constraint:
(24) (i6214[4]=i6214[5]∧i6213[4]=i6213[5]∧i6215[4]=i6215[5]∧a43959[4]=a43959[5]∧o41008[4]=o41008[5]∧o41009[4]=o41009[5]∧o41010[4]=o41010[5]∧i6073[4]=i6073[5]∧&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0))=TRUE∧i3[4]=i3[5]∧a43225data[4]=a43225data[5] ⇒ LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))≥NonInfC∧LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))≥COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))∧(UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥))
We simplified constraint (24) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(25) (>(+(i6073[4], 1), 0)=TRUE∧<(i6073[4], i3[4])=TRUE∧>(i6214[4], 42)=TRUE∧>(i6073[4], 0)=TRUE ⇒ LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))≥NonInfC∧LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))≥COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))∧(UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥))
We simplified constraint (25) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(26) (i6073[4] ≥ 0∧i3[4] + [-1] + [-1]i6073[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧[bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i6073[4] + [bni_35]i3[4] ≥ 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (26) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(27) (i6073[4] ≥ 0∧i3[4] + [-1] + [-1]i6073[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧[bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i6073[4] + [bni_35]i3[4] ≥ 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (27) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(28) (i6073[4] ≥ 0∧i3[4] + [-1] + [-1]i6073[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧[bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i6073[4] + [bni_35]i3[4] ≥ 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (28) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(29) (i6073[4] ≥ 0∧i3[4] + [-1] + [-1]i6073[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_35 + (-1)Bound*bni_35] + [(-1)bni_35]i6073[4] + [bni_35]i3[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (29) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(30) ([1] + i6073[4] ≥ 0∧i3[4] + [-2] + [-1]i6073[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_35] + [(-1)bni_35]i6073[4] + [bni_35]i3[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (30) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(31) ([1] + i6073[4] ≥ 0∧i3[4] ≥ 0∧i6214[4] + [-43] ≥ 0∧i6073[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_35 + (2)bni_35] + [bni_35]i3[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
We simplified constraint (31) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(32) ([1] + i6073[4] ≥ 0∧i3[4] ≥ 0∧i6214[4] ≥ 0∧i6073[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_35 + (2)bni_35] + [bni_35]i3[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
For Pair
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o41008,
java.lang.Object(
Tree(
o41008,
o41009,
NULL)),
o41010)),
java.lang.Object(
java.lang.String(
i6214,
i6213,
i6215,
a43959))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
i6073,
1),
o41008) the following chains were created:
- We consider the chain COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])), java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5]))) → LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5]) which results in the following constraint:
(33) (COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])), java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5])))≥NonInfC∧COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])), java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5])))≥LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])∧(UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥)∧[(-1)bso_38] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD23197(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41002, o41003, o41004))) → LOAD23197ARR1(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41002, o41003, o41004)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959)))
- ((UIncreasing(LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_28] ≥ 0)
- LOAD23197ARR1(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(java.lang.Object(Tree(o41002, o41003, NULL)), o41003, o41004)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959))) → COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214, 0), <=(i6214, 42)), >(i6073, 0)), <(i6073, i3)), >(+(i6073, 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(java.lang.Object(Tree(o41002, o41003, NULL)), o41003, o41004)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959)))
- ([1] + i6073[1] ≥ 0∧i3[1] ≥ 0∧i6073[1] ≥ 0∧i6214[1] ≥ 0∧[42] + [-1]i6214[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_29 + (2)bni_29] + [bni_29]i3[1] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
- COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(java.lang.Object(Tree(o41002, o41003, NULL)), o41003, o41004)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959))) → LOAD23197(java.lang.Object(ARRAY(i3, a43225data)), +(i6073, 1), o41003)
- ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_32] ≥ 0)
- LOAD23197(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41008, o41009, o41010))) → LOAD23197ARR2(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41008, o41009, o41010)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959)))
- ((UIncreasing(LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_34] ≥ 0)
- LOAD23197ARR2(java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41008, java.lang.Object(Tree(o41008, o41009, NULL)), o41010)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959))) → COND_LOAD23197ARR2(&&(&&(&&(>(i6214, 42), >(i6073, 0)), <(i6073, i3)), >(+(i6073, 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41008, java.lang.Object(Tree(o41008, o41009, NULL)), o41010)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959)))
- ([1] + i6073[4] ≥ 0∧i3[4] ≥ 0∧i6214[4] ≥ 0∧i6073[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_35 + (2)bni_35] + [bni_35]i3[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_36] ≥ 0)
- COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, java.lang.Object(Tree(o41008, java.lang.Object(Tree(o41008, o41009, NULL)), o41010)), java.lang.Object(java.lang.String(i6214, i6213, i6215, a43959))) → LOAD23197(java.lang.Object(ARRAY(i3, a43225data)), +(i6073, 1), o41008)
- ((UIncreasing(LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 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(LOAD23197(x1, x2, x3)) = [1] + [-1]x2 + [-1]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(Tree(x1, x2, x3)) = [-1]
POL(LOAD23197ARR1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(NULL) = [-1]
POL(COND_LOAD23197ARR1(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(>=(x1, x2)) = [-1]
POL(0) = 0
POL(<=(x1, x2)) = [-1]
POL(42) = [42]
POL(>(x1, x2)) = [-1]
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(LOAD23197ARR2(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1
POL(COND_LOAD23197ARR2(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD23197(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0]))) → LOAD23197ARR1(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])), java.lang.Object(java.lang.String(i6214[0], i6213[0], i6215[0], a43959[0])))
LOAD23197(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))) → LOAD23197ARR2(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])), java.lang.Object(java.lang.String(i6214[3], i6213[3], i6215[3], a43959[3])))
The following pairs are in P
bound:
LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1]))) → COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))
LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4]))) → COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))
The following pairs are in P
≥:
LOAD23197ARR1(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1]))) → COND_LOAD23197ARR1(&&(&&(&&(&&(>=(i6214[1], 0), <=(i6214[1], 42)), >(i6073[1], 0)), <(i6073[1], i3[1])), >(+(i6073[1], 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], java.lang.Object(Tree(java.lang.Object(Tree(o41002[1], o41003[1], NULL)), o41003[1], o41004[1])), java.lang.Object(java.lang.String(i6214[1], i6213[1], i6215[1], a43959[1])))
COND_LOAD23197ARR1(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], java.lang.Object(Tree(java.lang.Object(Tree(o41002[2], o41003[2], NULL)), o41003[2], o41004[2])), java.lang.Object(java.lang.String(i6214[2], i6213[2], i6215[2], a43959[2]))) → LOAD23197(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(i6073[2], 1), o41003[2])
LOAD23197ARR2(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4]))) → COND_LOAD23197ARR2(&&(&&(&&(>(i6214[4], 42), >(i6073[4], 0)), <(i6073[4], i3[4])), >(+(i6073[4], 1), 0)), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], java.lang.Object(Tree(o41008[4], java.lang.Object(Tree(o41008[4], o41009[4], NULL)), o41010[4])), java.lang.Object(java.lang.String(i6214[4], i6213[4], i6215[4], a43959[4])))
COND_LOAD23197ARR2(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], java.lang.Object(Tree(o41008[5], java.lang.Object(Tree(o41008[5], o41009[5], NULL)), o41010[5])), java.lang.Object(java.lang.String(i6214[5], i6213[5], i6215[5], a43959[5]))) → LOAD23197(java.lang.Object(ARRAY(i3[5], a43225data[5])), +(i6073[5], 1), o41008[5])
There are no usable rules.
(13) Complex Obligation (AND)
(14) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(1):
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1]))) →
COND_LOAD23197ARR1(
i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[1],
o41003[1],
NULL)),
o41003[1],
o41004[1])),
java.lang.Object(
java.lang.String(
i6214[1],
i6213[1],
i6215[1],
a43959[1])))
(2):
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[2],
o41003[2],
NULL)),
o41003[2],
o41004[2])),
java.lang.Object(
java.lang.String(
i6214[2],
i6213[2],
i6215[2],
a43959[2]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1,
o41003[2])
(4):
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4]))) →
COND_LOAD23197ARR2(
i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
java.lang.Object(
Tree(
o41008[4],
java.lang.Object(
Tree(
o41008[4],
o41009[4],
NULL)),
o41010[4])),
java.lang.Object(
java.lang.String(
i6214[4],
i6213[4],
i6215[4],
a43959[4])))
(5):
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
java.lang.Object(
Tree(
o41008[5],
java.lang.Object(
Tree(
o41008[5],
o41009[5],
NULL)),
o41010[5])),
java.lang.Object(
java.lang.String(
i6214[5],
i6213[5],
i6215[5],
a43959[5]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5] + 1,
o41008[5])
(1) -> (2), if (((i3[1] →* i3[2])∧(a43225data[1] →* a43225data[2]))∧(i6073[1] →* i6073[2])∧(i6214[1] >= 0 && i6214[1] <= 42 && i6073[1] > 0 && i6073[1] < i3[1] && i6073[1] + 1 > 0 →* TRUE)∧((o41002[1] →* o41002[2])∧(o41003[1] →* o41003[2])∧(o41004[1] →* o41004[2]))∧((i6214[1] →* i6214[2])∧(i6213[1] →* i6213[2])∧(i6215[1] →* i6215[2])∧(a43959[1] →* a43959[2])))
(4) -> (5), if (((i6214[4] →* i6214[5])∧(i6213[4] →* i6213[5])∧(i6215[4] →* i6215[5])∧(a43959[4] →* a43959[5]))∧((o41008[4] →* o41008[5])∧(o41009[4] →* o41009[5])∧(o41010[4] →* o41010[5]))∧(i6073[4] →* i6073[5])∧(i6214[4] > 42 && i6073[4] > 0 && i6073[4] < i3[4] && i6073[4] + 1 > 0 →* TRUE)∧((i3[4] →* i3[5])∧(a43225data[4] →* a43225data[5])))
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(15) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes.
(16) TRUE
(17) 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):
LOAD23197(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0]))) →
LOAD23197ARR1(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
java.lang.Object(
Tree(
o41002[0],
o41003[0],
o41004[0])),
java.lang.Object(
java.lang.String(
i6214[0],
i6213[0],
i6215[0],
a43959[0])))
(2):
COND_LOAD23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o41002[2],
o41003[2],
NULL)),
o41003[2],
o41004[2])),
java.lang.Object(
java.lang.String(
i6214[2],
i6213[2],
i6215[2],
a43959[2]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1,
o41003[2])
(3):
LOAD23197(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3]))) →
LOAD23197ARR2(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
java.lang.Object(
Tree(
o41008[3],
o41009[3],
o41010[3])),
java.lang.Object(
java.lang.String(
i6214[3],
i6213[3],
i6215[3],
a43959[3])))
(5):
COND_LOAD23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
java.lang.Object(
Tree(
o41008[5],
java.lang.Object(
Tree(
o41008[5],
o41009[5],
NULL)),
o41010[5])),
java.lang.Object(
java.lang.String(
i6214[5],
i6213[5],
i6215[5],
a43959[5]))) →
LOAD23197(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5] + 1,
o41008[5])
(2) -> (0), if ((i6073[2] + 1 →* i6073[0])∧(o41003[2] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧((i3[2] →* i3[0])∧(a43225data[2] →* a43225data[0])))
(5) -> (0), if ((o41008[5] →* java.lang.Object(Tree(o41002[0], o41003[0], o41004[0])))∧((i3[5] →* i3[0])∧(a43225data[5] →* a43225data[0]))∧(i6073[5] + 1 →* i6073[0]))
(2) -> (3), if ((o41003[2] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3])))∧((i3[2] →* i3[3])∧(a43225data[2] →* a43225data[3]))∧(i6073[2] + 1 →* i6073[3]))
(5) -> (3), if ((i6073[5] + 1 →* i6073[3])∧((i3[5] →* i3[3])∧(a43225data[5] →* a43225data[3]))∧(o41008[5] →* java.lang.Object(Tree(o41008[3], o41009[3], o41010[3]))))
The set Q consists of the following terms:
Load23197(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load23197ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x4,
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Load23197ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
Cond_Load23197ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
x3,
java.lang.Object(
Tree(
x3,
x4,
NULL)),
x5)),
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)))
(18) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes.
(19) TRUE
(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:
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)))),
i6075) →
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR3(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
o39859,
i6075,
NULL,
NULL)
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075 + -1)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075) →
Cond_Load23142(
i6075 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075 + -1)
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
o39838,
o39859,
i6075,
NULL,
NULL) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
o39838,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44061,
o44062,
o44063)))),
i6075) →
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44061,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR4(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45272,
o45273,
o45274)))),
i6075) →
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45272,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR5(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)))),
i6075) →
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR6(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45338,
o45339,
o45340)))),
i6075) →
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45338,
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR7(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)))),
i6075) →
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR8(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46622,
o46623,
o46624)))),
i6075) →
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46622,
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR9(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)))),
i6075) →
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR10(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
The set Q consists of the following terms:
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
x5)
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
NULL)),
x5)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
NULL)),
x5)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
x5,
NULL,
NULL)
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)))),
x8)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Load23142ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
0,
x10,
x11,
x12)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
0,
x10,
x11,
x12)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Load23142ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Load23142ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
x10,
x11,
x12,
x13)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
x10,
x11,
x12,
x13)))
(21) GroundTermsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they always contain the same ground term.
We removed the following ground terms:
We removed arguments according to the following replacements:
New26117(x1, x2, x3, x4, x5, x6, x7) → New26117(x1, x2, x3, x4, x5)
(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:
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)))),
i6075) →
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44066,
o44067,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR3(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
NULL,
NULL,
o44068)),
o39859,
i6075)
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075 + -1)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075) →
Cond_Load23142(
i6075 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
NULL)),
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
o39859,
i6075 + -1)
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
o39838,
o39859,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
o39838,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44061,
o44062,
o44063)))),
i6075) →
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o44061,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR4(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o44062,
o44063)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45272,
o45273,
o45274)))),
i6075) →
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45272,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR5(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
o45273,
o45274)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)))),
i6075) →
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45288,
o45289,
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR6(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)))),
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)),
java.lang.Object(
java.lang.String(
0,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45290)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45338,
o45339,
o45340)))),
i6075) →
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45338,
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR7(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o45339,
o45340)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)))),
i6075) →
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o45354,
o45355,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR8(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)))),
i6075,
java.lang.Object(
java.lang.String(
0,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
o45356)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
NULL)),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46622,
o46623,
o46624)))),
i6075) →
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46622,
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR9(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
o39838,
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46623,
o46624)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
o39838new,
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)))),
i6075) →
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
o46644,
o46645,
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR10(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)))),
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
o46646)),
java.lang.Object(
List(
java.lang.Object(
List(
o39859,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)))),
i6075)
The set Q consists of the following terms:
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
0,
x9,
x10,
x11)))
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
x5)
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
NULL)),
x5)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
NULL)),
x5)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
x4,
x5)
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)))),
x8)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
0,
x12,
x13,
x14)))
Load23142ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
0,
x10,
x11,
x12)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
NULL,
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
0,
x10,
x11,
x12)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Load23142ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
NULL,
x3)))),
x5,
java.lang.Object(
java.lang.String(
0,
x6,
x7,
x8)),
java.lang.Object(
java.lang.String(
x9,
x10,
x11,
x12)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x5,
x6)))),
x7,
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)),
java.lang.Object(
java.lang.String(
x12,
x13,
x14,
x15)))
Load23142ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
x10,
x11,
x12,
x13)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)),
java.lang.Object(
List(
x4,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
java.lang.Object(
Tree(
NULL,
NULL,
NULL)),
x3)))),
x5,
java.lang.Object(
java.lang.String(
x6,
x7,
x8,
x9)),
java.lang.Object(
java.lang.String(
x10,
x11,
x12,
x13)))
(23) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load23142(x1, x2, x3, x4, x5) → Load23142(x1, x2, x5)
Tree(x1, x2, x3) → Tree
List(x1, x2) → List
Load23142ARR3(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR3(x1, x2, x5)
Cond_Load23142ARR3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR3(x1, x2, x3, x6)
New26117(x1, x2, x3, x4, x5) → New26117(x1, x2, x5)
Inc23250(x1, x2, x3, x4, x5) → Inc23250(x1, x2, x5)
Cond_Load23142(x1, x2, x3, x4, x5, x6) → Cond_Load23142(x1, x2, x3, x6)
Load23142ARR4(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR4(x1, x2, x5)
Cond_Load23142ARR4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR4(x1, x2, x3, x6)
Load23142ARR5(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR5(x1, x2, x5, x6)
Cond_Load23142ARR5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR5(x1, x2, x3, x6, x7)
Load23142ARR6(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR6(x1, x2, x5, x6)
Cond_Load23142ARR6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR6(x1, x2, x3, x6, x7)
Load23142ARR7(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR7(x1, x2, x5, x7)
Cond_Load23142ARR7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR7(x1, x2, x3, x6, x8)
Load23142ARR8(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR8(x1, x2, x5, x7)
Cond_Load23142ARR8(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR8(x1, x2, x3, x6, x8)
Load23142ARR9(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR9(x1, x2, x5, x6, x7)
Cond_Load23142ARR9(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR9(x1, x2, x3, x6, x7, x8)
Load23142ARR10(x1, x2, x3, x4, x5, x6, x7) → Load23142ARR10(x1, x2, x5, x6, x7)
Cond_Load23142ARR10(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_Load23142ARR10(x1, x2, x3, x6, x7, x8)
(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:
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR3(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142(
i6075 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR4(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Cond_Load23142ARR5(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Load23142ARR6(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Cond_Load23142ARR6(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR7(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR8(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR8(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR9(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR10(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR10(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load23142ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(25) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load23142ARR5, Load23142ARR6 | > | Load23142ARR5_4 |
Cond_Load23142ARR5, Cond_Load23142ARR6 | > | Cond_Load23142ARR5_5 |
Load23142ARR7, Load23142ARR8 | > | Load23142ARR7_4 |
Cond_Load23142ARR7, Cond_Load23142ARR8 | > | Cond_Load23142ARR7_5 |
Load23142ARR9, Load23142ARR10 | > | Load23142ARR9_5 |
Cond_Load23142ARR9, Cond_Load23142ARR10 | > | Cond_Load23142ARR9_6 |
(26) 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:
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR3(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142(
i6075 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR4(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Cond_Load23142ARR5(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR7(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR9(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(27) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(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
The ITRS R consists of the following rules:
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR3(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142(
i6075 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075 + -1)
New26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Load23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Cond_Load23142ARR4(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Load23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Cond_Load23142ARR5(
i7267 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR7(
i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
Load23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Load23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Cond_Load23142ARR9(
i7793 > 0 && i6073 + 1 > 0 && i6073 + 1 < i3 && i6444 > 0 && i6073 > 0 && i6073 < i3 && i6075 > 0 && i6073 + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
Inc23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073 + 1 + 1,
i6075)
The integer pair graph contains the following rules and edges:
(0):
LOAD23142(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0]) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0])
(1):
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1]) →
COND_LOAD23142ARR3(
i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1])
(2):
COND_LOAD23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
i6075[2]) →
NEW26117(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1 + 1,
i6075[2])
(3):
INC23250(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3] + -1)
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
(6):
NEW26117(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6]) →
INC23250(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6])
(7):
LOAD23142(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7]) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7])
(8):
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8]) →
COND_LOAD23142ARR4(
i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8])
(9):
COND_LOAD23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9],
i6075[9]) →
INC23250(
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9] + 1 + 1,
i6075[9])
(10):
LOAD23142(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10]) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10],
java.lang.Object(
java.lang.String(
i7267[10],
i7109[10],
i7111[10],
a47215[10])))
(11):
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11]))) →
COND_LOAD23142ARR5(
i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11])))
(12):
COND_LOAD23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12],
i6075[12],
java.lang.Object(
java.lang.String(
i7267[12],
i7109[12],
i7111[12],
a47215[12]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12] + 1 + 1,
i6075[12])
(13):
LOAD23142(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13]) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13],
java.lang.Object(
java.lang.String(
i6444[13],
i6342[13],
i6344[13],
a44494[13])))
(14):
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14]))) →
COND_LOAD23142ARR7(
i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14])))
(15):
COND_LOAD23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15],
i6075[15],
java.lang.Object(
java.lang.String(
i6444[15],
i6342[15],
i6344[15],
a44494[15]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15] + 1 + 1,
i6075[15])
(16):
LOAD23142(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16]) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16],
java.lang.Object(
java.lang.String(
i7793[16],
i7574[16],
i7576[16],
a48595[16])),
java.lang.Object(
java.lang.String(
i6444[16],
i6342[16],
i6344[16],
a44494[16])))
(17):
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17]))) →
COND_LOAD23142ARR9(
i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17])))
(18):
COND_LOAD23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18],
i6075[18],
java.lang.Object(
java.lang.String(
i7793[18],
i7574[18],
i7576[18],
a48595[18])),
java.lang.Object(
java.lang.String(
i6444[18],
i6342[18],
i6344[18],
a44494[18]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18] + 1 + 1,
i6075[18])
(0) -> (1), if ((i6073[0] →* i6073[1])∧(java.lang.Object(ARRAY(i3[0], a43225data[0])) →* java.lang.Object(ARRAY(i3[1], a43225data[1])))∧(i6075[0] →* i6075[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a43225data[1])) →* java.lang.Object(ARRAY(i3[2], a43225data[2])))∧(i6075[1] →* i6075[2])∧(i6073[1] →* i6073[2])∧(i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0 →* TRUE))
(2) -> (6), if ((java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[6], a43225data[6])))∧(i6075[2] →* i6075[6])∧(i6073[2] + 1 + 1 →* i6885[6]))
(3) -> (0), if ((java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6073[3] →* i6073[0])∧(i6075[3] + -1 →* i6075[0]))
(3) -> (4), if ((i6075[3] + -1 →* i6075[4])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(i6073[3] →* i6073[4]))
(3) -> (7), if ((i6075[3] + -1 →* i6075[7])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[7], a43225data[7])))∧(i6073[3] →* i6073[7]))
(3) -> (10), if ((i6075[3] + -1 →* i6075[10])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[10], a43225data[10])))∧(i6073[3] →* i6073[10]))
(3) -> (13), if ((i6075[3] + -1 →* i6075[13])∧(i6073[3] →* i6073[13])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[13], a43225data[13]))))
(3) -> (16), if ((i6075[3] + -1 →* i6075[16])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[16], a43225data[16])))∧(i6073[3] →* i6073[16]))
(4) -> (5), if ((i6073[4] →* i6073[5])∧(i6075[4] > 0 →* TRUE)∧(i6075[4] →* i6075[5])∧(java.lang.Object(ARRAY(i3[4], a43225data[4])) →* java.lang.Object(ARRAY(i3[5], a43225data[5]))))
(5) -> (0), if ((i6073[5] →* i6073[0])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6075[5] + -1 →* i6075[0]))
(5) -> (4), if ((java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(i6073[5] →* i6073[4])∧(i6075[5] + -1 →* i6075[4]))
(5) -> (7), if ((i6073[5] →* i6073[7])∧(i6075[5] + -1 →* i6075[7])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[7], a43225data[7]))))
(5) -> (10), if ((java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[10], a43225data[10])))∧(i6075[5] + -1 →* i6075[10])∧(i6073[5] →* i6073[10]))
(5) -> (13), if ((i6075[5] + -1 →* i6075[13])∧(i6073[5] →* i6073[13])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[13], a43225data[13]))))
(5) -> (16), if ((i6073[5] →* i6073[16])∧(i6075[5] + -1 →* i6075[16])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[16], a43225data[16]))))
(6) -> (3), if ((java.lang.Object(ARRAY(i3[6], a43225data[6])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6885[6] →* i6073[3])∧(i6075[6] →* i6075[3]))
(7) -> (8), if ((java.lang.Object(ARRAY(i3[7], a43225data[7])) →* java.lang.Object(ARRAY(i3[8], a43225data[8])))∧(i6073[7] →* i6073[8])∧(i6075[7] →* i6075[8]))
(8) -> (9), if ((i6073[8] →* i6073[9])∧(i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0 →* TRUE)∧(i6075[8] →* i6075[9])∧(java.lang.Object(ARRAY(i3[8], a43225data[8])) →* java.lang.Object(ARRAY(i3[9], a43225data[9]))))
(9) -> (3), if ((i6073[9] + 1 + 1 →* i6073[3])∧(i6075[9] →* i6075[3])∧(java.lang.Object(ARRAY(i3[9], a43225data[9])) →* java.lang.Object(ARRAY(i3[3], a43225data[3]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i3[10], a43225data[10])) →* java.lang.Object(ARRAY(i3[11], a43225data[11])))∧(java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])) →* java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))∧(i6075[10] →* i6075[11])∧(i6073[10] →* i6073[11]))
(11) -> (12), if ((i6075[11] →* i6075[12])∧(i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])) →* java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12])))∧(i6073[11] →* i6073[12])∧(java.lang.Object(ARRAY(i3[11], a43225data[11])) →* java.lang.Object(ARRAY(i3[12], a43225data[12]))))
(12) -> (3), if ((java.lang.Object(ARRAY(i3[12], a43225data[12])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6073[12] + 1 + 1 →* i6073[3])∧(i6075[12] →* i6075[3]))
(13) -> (14), if ((java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])) →* java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))∧(i6073[13] →* i6073[14])∧(i6075[13] →* i6075[14])∧(java.lang.Object(ARRAY(i3[13], a43225data[13])) →* java.lang.Object(ARRAY(i3[14], a43225data[14]))))
(14) -> (15), if ((i6073[14] →* i6073[15])∧(i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0 →* TRUE)∧(i6075[14] →* i6075[15])∧(java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])) →* java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15])))∧(java.lang.Object(ARRAY(i3[14], a43225data[14])) →* java.lang.Object(ARRAY(i3[15], a43225data[15]))))
(15) -> (3), if ((i6073[15] + 1 + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[15], a43225data[15])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6075[15] →* i6075[3]))
(16) -> (17), if ((java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])) →* java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])))∧(java.lang.Object(ARRAY(i3[16], a43225data[16])) →* java.lang.Object(ARRAY(i3[17], a43225data[17])))∧(i6075[16] →* i6075[17])∧(java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])) →* java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))∧(i6073[16] →* i6073[17]))
(17) -> (18), if ((java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])) →* java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])))∧(java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])) →* java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18])))∧(i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i3[17], a43225data[17])) →* java.lang.Object(ARRAY(i3[18], a43225data[18])))∧(i6075[17] →* i6075[18])∧(i6073[17] →* i6073[18]))
(18) -> (3), if ((i6073[18] + 1 + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[18], a43225data[18])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6075[18] →* i6075[3]))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(29) 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.
(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):
LOAD23142(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0]) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0])
(1):
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1]) →
COND_LOAD23142ARR3(
i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1])
(2):
COND_LOAD23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
i6075[2]) →
NEW26117(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1 + 1,
i6075[2])
(3):
INC23250(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3] + -1)
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
(6):
NEW26117(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6]) →
INC23250(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6])
(7):
LOAD23142(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7]) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7])
(8):
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8]) →
COND_LOAD23142ARR4(
i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8])
(9):
COND_LOAD23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9],
i6075[9]) →
INC23250(
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9] + 1 + 1,
i6075[9])
(10):
LOAD23142(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10]) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10],
java.lang.Object(
java.lang.String(
i7267[10],
i7109[10],
i7111[10],
a47215[10])))
(11):
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11]))) →
COND_LOAD23142ARR5(
i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11])))
(12):
COND_LOAD23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12],
i6075[12],
java.lang.Object(
java.lang.String(
i7267[12],
i7109[12],
i7111[12],
a47215[12]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12] + 1 + 1,
i6075[12])
(13):
LOAD23142(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13]) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13],
java.lang.Object(
java.lang.String(
i6444[13],
i6342[13],
i6344[13],
a44494[13])))
(14):
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14]))) →
COND_LOAD23142ARR7(
i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14])))
(15):
COND_LOAD23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15],
i6075[15],
java.lang.Object(
java.lang.String(
i6444[15],
i6342[15],
i6344[15],
a44494[15]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15] + 1 + 1,
i6075[15])
(16):
LOAD23142(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16]) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16],
java.lang.Object(
java.lang.String(
i7793[16],
i7574[16],
i7576[16],
a48595[16])),
java.lang.Object(
java.lang.String(
i6444[16],
i6342[16],
i6344[16],
a44494[16])))
(17):
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17]))) →
COND_LOAD23142ARR9(
i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17])))
(18):
COND_LOAD23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18],
i6075[18],
java.lang.Object(
java.lang.String(
i7793[18],
i7574[18],
i7576[18],
a48595[18])),
java.lang.Object(
java.lang.String(
i6444[18],
i6342[18],
i6344[18],
a44494[18]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18] + 1 + 1,
i6075[18])
(0) -> (1), if ((i6073[0] →* i6073[1])∧(java.lang.Object(ARRAY(i3[0], a43225data[0])) →* java.lang.Object(ARRAY(i3[1], a43225data[1])))∧(i6075[0] →* i6075[1]))
(1) -> (2), if ((java.lang.Object(ARRAY(i3[1], a43225data[1])) →* java.lang.Object(ARRAY(i3[2], a43225data[2])))∧(i6075[1] →* i6075[2])∧(i6073[1] →* i6073[2])∧(i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0 →* TRUE))
(2) -> (6), if ((java.lang.Object(ARRAY(i3[2], a43225data[2])) →* java.lang.Object(ARRAY(i3[6], a43225data[6])))∧(i6075[2] →* i6075[6])∧(i6073[2] + 1 + 1 →* i6885[6]))
(3) -> (0), if ((java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6073[3] →* i6073[0])∧(i6075[3] + -1 →* i6075[0]))
(3) -> (4), if ((i6075[3] + -1 →* i6075[4])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(i6073[3] →* i6073[4]))
(3) -> (7), if ((i6075[3] + -1 →* i6075[7])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[7], a43225data[7])))∧(i6073[3] →* i6073[7]))
(3) -> (10), if ((i6075[3] + -1 →* i6075[10])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[10], a43225data[10])))∧(i6073[3] →* i6073[10]))
(3) -> (13), if ((i6075[3] + -1 →* i6075[13])∧(i6073[3] →* i6073[13])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[13], a43225data[13]))))
(3) -> (16), if ((i6075[3] + -1 →* i6075[16])∧(java.lang.Object(ARRAY(i3[3], a43225data[3])) →* java.lang.Object(ARRAY(i3[16], a43225data[16])))∧(i6073[3] →* i6073[16]))
(4) -> (5), if ((i6073[4] →* i6073[5])∧(i6075[4] > 0 →* TRUE)∧(i6075[4] →* i6075[5])∧(java.lang.Object(ARRAY(i3[4], a43225data[4])) →* java.lang.Object(ARRAY(i3[5], a43225data[5]))))
(5) -> (0), if ((i6073[5] →* i6073[0])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[0], a43225data[0])))∧(i6075[5] + -1 →* i6075[0]))
(5) -> (4), if ((java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[4], a43225data[4])))∧(i6073[5] →* i6073[4])∧(i6075[5] + -1 →* i6075[4]))
(5) -> (7), if ((i6073[5] →* i6073[7])∧(i6075[5] + -1 →* i6075[7])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[7], a43225data[7]))))
(5) -> (10), if ((java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[10], a43225data[10])))∧(i6075[5] + -1 →* i6075[10])∧(i6073[5] →* i6073[10]))
(5) -> (13), if ((i6075[5] + -1 →* i6075[13])∧(i6073[5] →* i6073[13])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[13], a43225data[13]))))
(5) -> (16), if ((i6073[5] →* i6073[16])∧(i6075[5] + -1 →* i6075[16])∧(java.lang.Object(ARRAY(i3[5], a43225data[5])) →* java.lang.Object(ARRAY(i3[16], a43225data[16]))))
(6) -> (3), if ((java.lang.Object(ARRAY(i3[6], a43225data[6])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6885[6] →* i6073[3])∧(i6075[6] →* i6075[3]))
(7) -> (8), if ((java.lang.Object(ARRAY(i3[7], a43225data[7])) →* java.lang.Object(ARRAY(i3[8], a43225data[8])))∧(i6073[7] →* i6073[8])∧(i6075[7] →* i6075[8]))
(8) -> (9), if ((i6073[8] →* i6073[9])∧(i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0 →* TRUE)∧(i6075[8] →* i6075[9])∧(java.lang.Object(ARRAY(i3[8], a43225data[8])) →* java.lang.Object(ARRAY(i3[9], a43225data[9]))))
(9) -> (3), if ((i6073[9] + 1 + 1 →* i6073[3])∧(i6075[9] →* i6075[3])∧(java.lang.Object(ARRAY(i3[9], a43225data[9])) →* java.lang.Object(ARRAY(i3[3], a43225data[3]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i3[10], a43225data[10])) →* java.lang.Object(ARRAY(i3[11], a43225data[11])))∧(java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])) →* java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))∧(i6075[10] →* i6075[11])∧(i6073[10] →* i6073[11]))
(11) -> (12), if ((i6075[11] →* i6075[12])∧(i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])) →* java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12])))∧(i6073[11] →* i6073[12])∧(java.lang.Object(ARRAY(i3[11], a43225data[11])) →* java.lang.Object(ARRAY(i3[12], a43225data[12]))))
(12) -> (3), if ((java.lang.Object(ARRAY(i3[12], a43225data[12])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6073[12] + 1 + 1 →* i6073[3])∧(i6075[12] →* i6075[3]))
(13) -> (14), if ((java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])) →* java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))∧(i6073[13] →* i6073[14])∧(i6075[13] →* i6075[14])∧(java.lang.Object(ARRAY(i3[13], a43225data[13])) →* java.lang.Object(ARRAY(i3[14], a43225data[14]))))
(14) -> (15), if ((i6073[14] →* i6073[15])∧(i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0 →* TRUE)∧(i6075[14] →* i6075[15])∧(java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])) →* java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15])))∧(java.lang.Object(ARRAY(i3[14], a43225data[14])) →* java.lang.Object(ARRAY(i3[15], a43225data[15]))))
(15) -> (3), if ((i6073[15] + 1 + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[15], a43225data[15])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6075[15] →* i6075[3]))
(16) -> (17), if ((java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])) →* java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])))∧(java.lang.Object(ARRAY(i3[16], a43225data[16])) →* java.lang.Object(ARRAY(i3[17], a43225data[17])))∧(i6075[16] →* i6075[17])∧(java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])) →* java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))∧(i6073[16] →* i6073[17]))
(17) -> (18), if ((java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])) →* java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])))∧(java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])) →* java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18])))∧(i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i3[17], a43225data[17])) →* java.lang.Object(ARRAY(i3[18], a43225data[18])))∧(i6075[17] →* i6075[18])∧(i6073[17] →* i6073[18]))
(18) -> (3), if ((i6073[18] + 1 + 1 →* i6073[3])∧(java.lang.Object(ARRAY(i3[18], a43225data[18])) →* java.lang.Object(ARRAY(i3[3], a43225data[3])))∧(i6075[18] →* i6075[3]))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(31) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(32) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD23142(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0]) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0])
(1):
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1]) →
COND_LOAD23142ARR3(
i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1])
(2):
COND_LOAD23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
i6075[2]) →
NEW26117(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1 + 1,
i6075[2])
(3):
INC23250(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3] + -1)
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
(6):
NEW26117(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6]) →
INC23250(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6])
(7):
LOAD23142(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7]) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7])
(8):
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8]) →
COND_LOAD23142ARR4(
i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8])
(9):
COND_LOAD23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9],
i6075[9]) →
INC23250(
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9] + 1 + 1,
i6075[9])
(10):
LOAD23142(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10]) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10],
java.lang.Object(
java.lang.String(
i7267[10],
i7109[10],
i7111[10],
a47215[10])))
(11):
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11]))) →
COND_LOAD23142ARR5(
i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11])))
(12):
COND_LOAD23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12],
i6075[12],
java.lang.Object(
java.lang.String(
i7267[12],
i7109[12],
i7111[12],
a47215[12]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12] + 1 + 1,
i6075[12])
(13):
LOAD23142(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13]) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13],
java.lang.Object(
java.lang.String(
i6444[13],
i6342[13],
i6344[13],
a44494[13])))
(14):
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14]))) →
COND_LOAD23142ARR7(
i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14])))
(15):
COND_LOAD23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15],
i6075[15],
java.lang.Object(
java.lang.String(
i6444[15],
i6342[15],
i6344[15],
a44494[15]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15] + 1 + 1,
i6075[15])
(16):
LOAD23142(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16]) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16],
java.lang.Object(
java.lang.String(
i7793[16],
i7574[16],
i7576[16],
a48595[16])),
java.lang.Object(
java.lang.String(
i6444[16],
i6342[16],
i6344[16],
a44494[16])))
(17):
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17]))) →
COND_LOAD23142ARR9(
i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17])))
(18):
COND_LOAD23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18],
i6075[18],
java.lang.Object(
java.lang.String(
i7793[18],
i7574[18],
i7576[18],
a48595[18])),
java.lang.Object(
java.lang.String(
i6444[18],
i6342[18],
i6344[18],
a44494[18]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18] + 1 + 1,
i6075[18])
(0) -> (1), if ((i6073[0] →* i6073[1])∧((i3[0] →* i3[1])∧(a43225data[0] →* a43225data[1]))∧(i6075[0] →* i6075[1]))
(1) -> (2), if (((i3[1] →* i3[2])∧(a43225data[1] →* a43225data[2]))∧(i6075[1] →* i6075[2])∧(i6073[1] →* i6073[2])∧(i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0 →* TRUE))
(2) -> (6), if (((i3[2] →* i3[6])∧(a43225data[2] →* a43225data[6]))∧(i6075[2] →* i6075[6])∧(i6073[2] + 1 + 1 →* i6885[6]))
(3) -> (0), if (((i3[3] →* i3[0])∧(a43225data[3] →* a43225data[0]))∧(i6073[3] →* i6073[0])∧(i6075[3] + -1 →* i6075[0]))
(3) -> (4), if ((i6075[3] + -1 →* i6075[4])∧((i3[3] →* i3[4])∧(a43225data[3] →* a43225data[4]))∧(i6073[3] →* i6073[4]))
(3) -> (7), if ((i6075[3] + -1 →* i6075[7])∧((i3[3] →* i3[7])∧(a43225data[3] →* a43225data[7]))∧(i6073[3] →* i6073[7]))
(3) -> (10), if ((i6075[3] + -1 →* i6075[10])∧((i3[3] →* i3[10])∧(a43225data[3] →* a43225data[10]))∧(i6073[3] →* i6073[10]))
(3) -> (13), if ((i6075[3] + -1 →* i6075[13])∧(i6073[3] →* i6073[13])∧((i3[3] →* i3[13])∧(a43225data[3] →* a43225data[13])))
(3) -> (16), if ((i6075[3] + -1 →* i6075[16])∧((i3[3] →* i3[16])∧(a43225data[3] →* a43225data[16]))∧(i6073[3] →* i6073[16]))
(4) -> (5), if ((i6073[4] →* i6073[5])∧(i6075[4] > 0 →* TRUE)∧(i6075[4] →* i6075[5])∧((i3[4] →* i3[5])∧(a43225data[4] →* a43225data[5])))
(5) -> (0), if ((i6073[5] →* i6073[0])∧((i3[5] →* i3[0])∧(a43225data[5] →* a43225data[0]))∧(i6075[5] + -1 →* i6075[0]))
(5) -> (4), if (((i3[5] →* i3[4])∧(a43225data[5] →* a43225data[4]))∧(i6073[5] →* i6073[4])∧(i6075[5] + -1 →* i6075[4]))
(5) -> (7), if ((i6073[5] →* i6073[7])∧(i6075[5] + -1 →* i6075[7])∧((i3[5] →* i3[7])∧(a43225data[5] →* a43225data[7])))
(5) -> (10), if (((i3[5] →* i3[10])∧(a43225data[5] →* a43225data[10]))∧(i6075[5] + -1 →* i6075[10])∧(i6073[5] →* i6073[10]))
(5) -> (13), if ((i6075[5] + -1 →* i6075[13])∧(i6073[5] →* i6073[13])∧((i3[5] →* i3[13])∧(a43225data[5] →* a43225data[13])))
(5) -> (16), if ((i6073[5] →* i6073[16])∧(i6075[5] + -1 →* i6075[16])∧((i3[5] →* i3[16])∧(a43225data[5] →* a43225data[16])))
(6) -> (3), if (((i3[6] →* i3[3])∧(a43225data[6] →* a43225data[3]))∧(i6885[6] →* i6073[3])∧(i6075[6] →* i6075[3]))
(7) -> (8), if (((i3[7] →* i3[8])∧(a43225data[7] →* a43225data[8]))∧(i6073[7] →* i6073[8])∧(i6075[7] →* i6075[8]))
(8) -> (9), if ((i6073[8] →* i6073[9])∧(i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0 →* TRUE)∧(i6075[8] →* i6075[9])∧((i3[8] →* i3[9])∧(a43225data[8] →* a43225data[9])))
(9) -> (3), if ((i6073[9] + 1 + 1 →* i6073[3])∧(i6075[9] →* i6075[3])∧((i3[9] →* i3[3])∧(a43225data[9] →* a43225data[3])))
(10) -> (11), if (((i3[10] →* i3[11])∧(a43225data[10] →* a43225data[11]))∧((i7267[10] →* i7267[11])∧(i7109[10] →* i7109[11])∧(i7111[10] →* i7111[11])∧(a47215[10] →* a47215[11]))∧(i6075[10] →* i6075[11])∧(i6073[10] →* i6073[11]))
(11) -> (12), if ((i6075[11] →* i6075[12])∧(i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0 →* TRUE)∧((i7267[11] →* i7267[12])∧(i7109[11] →* i7109[12])∧(i7111[11] →* i7111[12])∧(a47215[11] →* a47215[12]))∧(i6073[11] →* i6073[12])∧((i3[11] →* i3[12])∧(a43225data[11] →* a43225data[12])))
(12) -> (3), if (((i3[12] →* i3[3])∧(a43225data[12] →* a43225data[3]))∧(i6073[12] + 1 + 1 →* i6073[3])∧(i6075[12] →* i6075[3]))
(13) -> (14), if (((i6444[13] →* i6444[14])∧(i6342[13] →* i6342[14])∧(i6344[13] →* i6344[14])∧(a44494[13] →* a44494[14]))∧(i6073[13] →* i6073[14])∧(i6075[13] →* i6075[14])∧((i3[13] →* i3[14])∧(a43225data[13] →* a43225data[14])))
(14) -> (15), if ((i6073[14] →* i6073[15])∧(i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0 →* TRUE)∧(i6075[14] →* i6075[15])∧((i6444[14] →* i6444[15])∧(i6342[14] →* i6342[15])∧(i6344[14] →* i6344[15])∧(a44494[14] →* a44494[15]))∧((i3[14] →* i3[15])∧(a43225data[14] →* a43225data[15])))
(15) -> (3), if ((i6073[15] + 1 + 1 →* i6073[3])∧((i3[15] →* i3[3])∧(a43225data[15] →* a43225data[3]))∧(i6075[15] →* i6075[3]))
(16) -> (17), if (((i7793[16] →* i7793[17])∧(i7574[16] →* i7574[17])∧(i7576[16] →* i7576[17])∧(a48595[16] →* a48595[17]))∧((i3[16] →* i3[17])∧(a43225data[16] →* a43225data[17]))∧(i6075[16] →* i6075[17])∧((i6444[16] →* i6444[17])∧(i6342[16] →* i6342[17])∧(i6344[16] →* i6344[17])∧(a44494[16] →* a44494[17]))∧(i6073[16] →* i6073[17]))
(17) -> (18), if (((i7793[17] →* i7793[18])∧(i7574[17] →* i7574[18])∧(i7576[17] →* i7576[18])∧(a48595[17] →* a48595[18]))∧((i6444[17] →* i6444[18])∧(i6342[17] →* i6342[18])∧(i6344[17] →* i6344[18])∧(a44494[17] →* a44494[18]))∧(i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0 →* TRUE)∧((i3[17] →* i3[18])∧(a43225data[17] →* a43225data[18]))∧(i6075[17] →* i6075[18])∧(i6073[17] →* i6073[18]))
(18) -> (3), if ((i6073[18] + 1 + 1 →* i6073[3])∧((i3[18] →* i3[3])∧(a43225data[18] →* a43225data[3]))∧(i6075[18] →* i6075[3]))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(33) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0]) → LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0]), LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]) → COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]) which results in the following constraint:
(1) (i6073[0]=i6073[1]∧i3[0]=i3[1]∧a43225data[0]=a43225data[1]∧i6075[0]=i6075[1] ⇒ LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])≥LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])∧(UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])≥LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])∧(UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥)∧[(-1)bso_30] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
For Pair
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
COND_LOAD23142ARR3(
&&(
&&(
&&(
&&(
&&(
>(
+(
i6073,
1),
0),
<(
+(
i6073,
1),
i3)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
i6075,
0)),
>(
+(
+(
i6073,
1),
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) the following chains were created:
- We consider the chain LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]) → COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]), COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], i6075[2]) → NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2]) which results in the following constraint:
(7) (i3[1]=i3[2]∧a43225data[1]=a43225data[2]∧i6075[1]=i6075[2]∧i6073[1]=i6073[2]∧&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0))=TRUE ⇒ LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])≥NonInfC∧LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])≥COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])∧(UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(+(i6073[1], 1), 1), 0)=TRUE∧>(i6075[1], 0)=TRUE∧<(i6073[1], i3[1])=TRUE∧>(i6073[1], 0)=TRUE∧>(+(i6073[1], 1), 0)=TRUE∧<(+(i6073[1], 1), i3[1])=TRUE ⇒ LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])≥NonInfC∧LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])≥COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])∧(UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i6073[1] + [1] ≥ 0∧i6075[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6073[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i6073[1] + [1] ≥ 0∧i6075[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6073[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i6073[1] + [1] ≥ 0∧i6075[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6073[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i6073[1] + [1] ≥ 0∧i6075[1] + [-1] ≥ 0∧i3[1] + [-1] + [-1]i6073[1] ≥ 0∧i6073[1] + [-1] ≥ 0∧i6073[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-1)bni_31 + (-1)Bound*bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([2] + i6073[1] ≥ 0∧i6075[1] + [-1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0∧i6073[1] ≥ 0∧[1] + i6073[1] ≥ 0∧i3[1] + [-3] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-2)bni_31 + (-1)Bound*bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([2] + i6073[1] ≥ 0∧i6075[1] ≥ 0∧i3[1] + [-2] + [-1]i6073[1] ≥ 0∧i6073[1] ≥ 0∧[1] + i6073[1] ≥ 0∧i3[1] + [-3] + [-1]i6073[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-1)Bound*bni_31 + (-1)bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] + [(-1)bni_31]i6073[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([2] + i6073[1] ≥ 0∧i6075[1] ≥ 0∧i3[1] ≥ 0∧i6073[1] ≥ 0∧[1] + i6073[1] ≥ 0∧[-1] + i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-1)Bound*bni_31 + bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
We simplified constraint (15) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(16) ([2] + i6073[1] ≥ 0∧i6075[1] ≥ 0∧[1] + i3[1] ≥ 0∧i6073[1] ≥ 0∧[1] + i6073[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
For Pair
COND_LOAD23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
NEW26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
+(
i6073,
1),
1),
i6075) the following chains were created:
- We consider the chain COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], i6075[2]) → NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2]) which results in the following constraint:
(17) (COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], i6075[2])≥NonInfC∧COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], i6075[2])≥NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])∧(UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥))
We simplified constraint (17) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(18) ((UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥)∧[2 + (-1)bso_34] ≥ 0)
We simplified constraint (18) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(19) ((UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥)∧[2 + (-1)bso_34] ≥ 0)
We simplified constraint (19) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(20) ((UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥)∧[2 + (-1)bso_34] ≥ 0)
We simplified constraint (20) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(21) ((UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_34] ≥ 0)
For Pair
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
+(
i6075,
-1)) the following chains were created:
- We consider the chain INC23250(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], i6075[3]) → LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1)) which results in the following constraint:
(22) (INC23250(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], i6075[3])≥NonInfC∧INC23250(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], i6075[3])≥LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))∧(UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥)∧[1 + (-1)bso_36] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
COND_LOAD23142(
>(
i6075,
0),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]), COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1)) which results in the following constraint:
(27) (i6073[4]=i6073[5]∧>(i6075[4], 0)=TRUE∧i6075[4]=i6075[5]∧i3[4]=i3[5]∧a43225data[4]=a43225data[5] ⇒ LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])∧(UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥))
We simplified constraint (27) using rule (IV) which results in the following new constraint:
(28) (>(i6075[4], 0)=TRUE ⇒ LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])∧(UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥))
We simplified constraint (28) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(29) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]i6075[4] + [bni_37]i3[4] + [(-1)bni_37]i6073[4] ≥ 0∧[(-1)bso_38] ≥ 0)
We simplified constraint (29) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(30) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]i6075[4] + [bni_37]i3[4] + [(-1)bni_37]i6073[4] ≥ 0∧[(-1)bso_38] ≥ 0)
We simplified constraint (30) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(31) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]i6075[4] + [bni_37]i3[4] + [(-1)bni_37]i6073[4] ≥ 0∧[(-1)bso_38] ≥ 0)
We simplified constraint (31) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(32) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧0 = 0∧[bni_37] = 0∧[(-1)bni_37] = 0∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]i6075[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
We simplified constraint (32) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(33) (i6075[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧0 = 0∧[bni_37] = 0∧[(-1)bni_37] = 0∧[(-1)Bound*bni_37] + [bni_37]i6075[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
For Pair
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
+(
i6075,
-1)) the following chains were created:
- We consider the chain COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1)) which results in the following constraint:
(34) (COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5])≥NonInfC∧COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5])≥LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))∧(UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥))
We simplified constraint (34) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(35) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[1 + (-1)bso_40] ≥ 0)
We simplified constraint (35) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(36) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[1 + (-1)bso_40] ≥ 0)
We simplified constraint (36) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(37) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[1 + (-1)bso_40] ≥ 0)
We simplified constraint (37) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(38) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_40] ≥ 0)
For Pair
NEW26117(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075) →
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6885,
i6075) the following chains were created:
- We consider the chain NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6]) → INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6]), INC23250(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], i6075[3]) → LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1)) which results in the following constraint:
(39) (i3[6]=i3[3]∧a43225data[6]=a43225data[3]∧i6885[6]=i6073[3]∧i6075[6]=i6075[3] ⇒ NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])≥NonInfC∧NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])≥INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥))
We simplified constraint (39) using rule (IV) which results in the following new constraint:
(40) (NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])≥NonInfC∧NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])≥INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥))
We simplified constraint (40) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(41) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (41) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(42) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (42) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(43) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥)∧[(-1)bso_42] ≥ 0)
We simplified constraint (43) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(44) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7]) → LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7]), LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]) → COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]) which results in the following constraint:
(45) (i3[7]=i3[8]∧a43225data[7]=a43225data[8]∧i6073[7]=i6073[8]∧i6075[7]=i6075[8] ⇒ LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])≥LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])∧(UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥))
We simplified constraint (45) using rule (IV) which results in the following new constraint:
(46) (LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])≥LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])∧(UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥))
We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(47) ((UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥)∧[(-1)bso_44] ≥ 0)
We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(48) ((UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥)∧[(-1)bso_44] ≥ 0)
We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(49) ((UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥)∧[(-1)bso_44] ≥ 0)
We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(50) ((UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)
For Pair
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
COND_LOAD23142ARR4(
&&(
&&(
&&(
&&(
&&(
>(
+(
i6073,
1),
0),
<(
+(
i6073,
1),
i3)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
i6075,
0)),
>(
+(
+(
i6073,
1),
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) the following chains were created:
- We consider the chain LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]) → COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]), COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3[9], a43225data[9])), i6073[9], i6075[9]) → INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9]) which results in the following constraint:
(51) (i6073[8]=i6073[9]∧&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0))=TRUE∧i6075[8]=i6075[9]∧i3[8]=i3[9]∧a43225data[8]=a43225data[9] ⇒ LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])≥NonInfC∧LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])≥COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])∧(UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥))
We simplified constraint (51) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(52) (>(+(+(i6073[8], 1), 1), 0)=TRUE∧>(i6075[8], 0)=TRUE∧<(i6073[8], i3[8])=TRUE∧>(i6073[8], 0)=TRUE∧>(+(i6073[8], 1), 0)=TRUE∧<(+(i6073[8], 1), i3[8])=TRUE ⇒ LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])≥NonInfC∧LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])≥COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])∧(UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥))
We simplified constraint (52) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(53) (i6073[8] + [1] ≥ 0∧i6075[8] + [-1] ≥ 0∧i3[8] + [-1] + [-1]i6073[8] ≥ 0∧i6073[8] + [-1] ≥ 0∧i6073[8] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(54) (i6073[8] + [1] ≥ 0∧i6075[8] + [-1] ≥ 0∧i3[8] + [-1] + [-1]i6073[8] ≥ 0∧i6073[8] + [-1] ≥ 0∧i6073[8] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(55) (i6073[8] + [1] ≥ 0∧i6075[8] + [-1] ≥ 0∧i3[8] + [-1] + [-1]i6073[8] ≥ 0∧i6073[8] + [-1] ≥ 0∧i6073[8] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(56) (i6073[8] + [1] ≥ 0∧i6075[8] + [-1] ≥ 0∧i3[8] + [-1] + [-1]i6073[8] ≥ 0∧i6073[8] + [-1] ≥ 0∧i6073[8] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (56) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(57) ([2] + i6073[8] ≥ 0∧i6075[8] + [-1] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0∧i6073[8] ≥ 0∧[1] + i6073[8] ≥ 0∧i3[8] + [-3] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-2)bni_45 + (-1)Bound*bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (57) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(58) ([2] + i6073[8] ≥ 0∧i6075[8] ≥ 0∧i3[8] + [-2] + [-1]i6073[8] ≥ 0∧i6073[8] ≥ 0∧[1] + i6073[8] ≥ 0∧i3[8] + [-3] + [-1]i6073[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (-1)bni_45] + [bni_45]i6075[8] + [(-1)bni_45]i6073[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(59) ([2] + i6073[8] ≥ 0∧i6075[8] ≥ 0∧i3[8] ≥ 0∧i6073[8] ≥ 0∧[1] + i6073[8] ≥ 0∧[-1] + i3[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + bni_45] + [bni_45]i6075[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(60) ([2] + i6073[8] ≥ 0∧i6075[8] ≥ 0∧[1] + i3[8] ≥ 0∧i6073[8] ≥ 0∧[1] + i6073[8] ≥ 0∧i3[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [bni_45]i6075[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
For Pair
COND_LOAD23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
+(
i6073,
1),
1),
i6075) the following chains were created:
- We consider the chain COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3[9], a43225data[9])), i6073[9], i6075[9]) → INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9]) which results in the following constraint:
(61) (COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3[9], a43225data[9])), i6073[9], i6075[9])≥NonInfC∧COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3[9], a43225data[9])), i6073[9], i6075[9])≥INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥))
We simplified constraint (61) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(62) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥)∧[2 + (-1)bso_48] ≥ 0)
We simplified constraint (62) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(63) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥)∧[2 + (-1)bso_48] ≥ 0)
We simplified constraint (63) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(64) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥)∧[2 + (-1)bso_48] ≥ 0)
We simplified constraint (64) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(65) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_48] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10]) → LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10]))) which results in the following constraint:
(66) (LOAD23142(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10])≥LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))∧(UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥))
We simplified constraint (66) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(67) ((UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥)∧[(-1)bso_50] ≥ 0)
We simplified constraint (67) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(68) ((UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥)∧[(-1)bso_50] ≥ 0)
We simplified constraint (68) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(69) ((UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥)∧[(-1)bso_50] ≥ 0)
We simplified constraint (69) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(70) ((UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_50] ≥ 0)
For Pair
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
COND_LOAD23142ARR5(
&&(
&&(
&&(
&&(
&&(
&&(
>(
i7267,
0),
>(
+(
i6073,
1),
0)),
<(
+(
i6073,
1),
i3)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
i6075,
0)),
>(
+(
+(
i6073,
1),
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) the following chains were created:
- We consider the chain LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11]))) → COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11]))), COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3[12], a43225data[12])), i6073[12], i6075[12], java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12]))) → INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12]) which results in the following constraint:
(71) (i6075[11]=i6075[12]∧&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0))=TRUE∧i7267[11]=i7267[12]∧i7109[11]=i7109[12]∧i7111[11]=i7111[12]∧a47215[11]=a47215[12]∧i6073[11]=i6073[12]∧i3[11]=i3[12]∧a43225data[11]=a43225data[12] ⇒ LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))≥NonInfC∧LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))≥COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))∧(UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥))
We simplified constraint (71) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(72) (>(+(+(i6073[11], 1), 1), 0)=TRUE∧>(i6075[11], 0)=TRUE∧<(i6073[11], i3[11])=TRUE∧>(i6073[11], 0)=TRUE∧<(+(i6073[11], 1), i3[11])=TRUE∧>(i7267[11], 0)=TRUE∧>(+(i6073[11], 1), 0)=TRUE ⇒ LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))≥NonInfC∧LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))≥COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))∧(UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) (i6073[11] + [1] ≥ 0∧i6075[11] + [-1] ≥ 0∧i3[11] + [-1] + [-1]i6073[11] ≥ 0∧i6073[11] + [-1] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) (i6073[11] + [1] ≥ 0∧i6075[11] + [-1] ≥ 0∧i3[11] + [-1] + [-1]i6073[11] ≥ 0∧i6073[11] + [-1] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) (i6073[11] + [1] ≥ 0∧i6075[11] + [-1] ≥ 0∧i3[11] + [-1] + [-1]i6073[11] ≥ 0∧i6073[11] + [-1] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) (i6073[11] + [1] ≥ 0∧i6075[11] + [-1] ≥ 0∧i3[11] + [-1] + [-1]i6073[11] ≥ 0∧i6073[11] + [-1] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (76) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(77) ([2] + i6073[11] ≥ 0∧i6075[11] + [-1] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i6073[11] ≥ 0∧i3[11] + [-3] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-2)bni_51 + (-1)Bound*bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (77) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(78) ([2] + i6073[11] ≥ 0∧i6075[11] ≥ 0∧i3[11] + [-2] + [-1]i6073[11] ≥ 0∧i6073[11] ≥ 0∧i3[11] + [-3] + [-1]i6073[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_51 + (-1)bni_51] + [bni_51]i6075[11] + [(-1)bni_51]i6073[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (78) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(79) ([2] + i6073[11] ≥ 0∧i6075[11] ≥ 0∧i3[11] ≥ 0∧i6073[11] ≥ 0∧[-1] + i3[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_51 + bni_51] + [bni_51]i6075[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (79) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(80) ([2] + i6073[11] ≥ 0∧i6075[11] ≥ 0∧[1] + i3[11] ≥ 0∧i6073[11] ≥ 0∧i3[11] ≥ 0∧i7267[11] + [-1] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_51 + (2)bni_51] + [bni_51]i6075[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
We simplified constraint (80) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(81) ([2] + i6073[11] ≥ 0∧i6075[11] ≥ 0∧[1] + i3[11] ≥ 0∧i6073[11] ≥ 0∧i3[11] ≥ 0∧i7267[11] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_51 + (2)bni_51] + [bni_51]i6075[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
For Pair
COND_LOAD23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7267,
i7109,
i7111,
a47215))) →
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
+(
i6073,
1),
1),
i6075) the following chains were created:
- We consider the chain COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3[12], a43225data[12])), i6073[12], i6075[12], java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12]))) → INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12]) which results in the following constraint:
(82) (COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3[12], a43225data[12])), i6073[12], i6075[12], java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12])))≥NonInfC∧COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3[12], a43225data[12])), i6073[12], i6075[12], java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12])))≥INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥))
We simplified constraint (82) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(83) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥)∧[2 + (-1)bso_54] ≥ 0)
We simplified constraint (83) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(84) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥)∧[2 + (-1)bso_54] ≥ 0)
We simplified constraint (84) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(85) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥)∧[2 + (-1)bso_54] ≥ 0)
We simplified constraint (85) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(86) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_54] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13]) → LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13]))) which results in the following constraint:
(87) (LOAD23142(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13])≥LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))∧(UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥)∧[(-1)bso_56] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)
For Pair
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
COND_LOAD23142ARR7(
&&(
&&(
&&(
&&(
&&(
&&(
>(
+(
i6073,
1),
0),
<(
+(
i6073,
1),
i3)),
>(
i6444,
0)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
i6075,
0)),
>(
+(
+(
i6073,
1),
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) the following chains were created:
- We consider the chain LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14]))) → COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14]))), COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3[15], a43225data[15])), i6073[15], i6075[15], java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15]))) → INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15]) which results in the following constraint:
(92) (i6073[14]=i6073[15]∧&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0))=TRUE∧i6075[14]=i6075[15]∧i6444[14]=i6444[15]∧i6342[14]=i6342[15]∧i6344[14]=i6344[15]∧a44494[14]=a44494[15]∧i3[14]=i3[15]∧a43225data[14]=a43225data[15] ⇒ LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))≥NonInfC∧LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))≥COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))∧(UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥))
We simplified constraint (92) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(93) (>(+(+(i6073[14], 1), 1), 0)=TRUE∧>(i6075[14], 0)=TRUE∧<(i6073[14], i3[14])=TRUE∧>(i6073[14], 0)=TRUE∧>(i6444[14], 0)=TRUE∧>(+(i6073[14], 1), 0)=TRUE∧<(+(i6073[14], 1), i3[14])=TRUE ⇒ LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))≥NonInfC∧LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))≥COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))∧(UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥))
We simplified constraint (93) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(94) (i6073[14] + [1] ≥ 0∧i6075[14] + [-1] ≥ 0∧i3[14] + [-1] + [-1]i6073[14] ≥ 0∧i6073[14] + [-1] ≥ 0∧i6444[14] + [-1] ≥ 0∧i6073[14] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (94) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(95) (i6073[14] + [1] ≥ 0∧i6075[14] + [-1] ≥ 0∧i3[14] + [-1] + [-1]i6073[14] ≥ 0∧i6073[14] + [-1] ≥ 0∧i6444[14] + [-1] ≥ 0∧i6073[14] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (95) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(96) (i6073[14] + [1] ≥ 0∧i6075[14] + [-1] ≥ 0∧i3[14] + [-1] + [-1]i6073[14] ≥ 0∧i6073[14] + [-1] ≥ 0∧i6444[14] + [-1] ≥ 0∧i6073[14] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (96) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(97) (i6073[14] + [1] ≥ 0∧i6075[14] + [-1] ≥ 0∧i3[14] + [-1] + [-1]i6073[14] ≥ 0∧i6073[14] + [-1] ≥ 0∧i6444[14] + [-1] ≥ 0∧i6073[14] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (97) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(98) ([2] + i6073[14] ≥ 0∧i6075[14] + [-1] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] + [-1] ≥ 0∧[1] + i6073[14] ≥ 0∧i3[14] + [-3] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-2)bni_57 + (-1)Bound*bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (98) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(99) ([2] + i6073[14] ≥ 0∧i6075[14] ≥ 0∧i3[14] + [-2] + [-1]i6073[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] + [-1] ≥ 0∧[1] + i6073[14] ≥ 0∧i3[14] + [-3] + [-1]i6073[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (-1)bni_57] + [bni_57]i6075[14] + [(-1)bni_57]i6073[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (99) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(100) ([2] + i6073[14] ≥ 0∧i6075[14] ≥ 0∧i3[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] + [-1] ≥ 0∧[1] + i6073[14] ≥ 0∧[-1] + i3[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + bni_57] + [bni_57]i6075[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (100) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(101) ([2] + i6073[14] ≥ 0∧i6075[14] ≥ 0∧[1] + i3[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] + [-1] ≥ 0∧[1] + i6073[14] ≥ 0∧i3[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (2)bni_57] + [bni_57]i6075[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
We simplified constraint (101) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(102) ([2] + i6073[14] ≥ 0∧i6075[14] ≥ 0∧[1] + i3[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] ≥ 0∧[1] + i6073[14] ≥ 0∧i3[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (2)bni_57] + [bni_57]i6075[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
For Pair
COND_LOAD23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
+(
i6073,
1),
1),
i6075) the following chains were created:
- We consider the chain COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3[15], a43225data[15])), i6073[15], i6075[15], java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15]))) → INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15]) which results in the following constraint:
(103) (COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3[15], a43225data[15])), i6073[15], i6075[15], java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15])))≥NonInfC∧COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3[15], a43225data[15])), i6073[15], i6075[15], java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15])))≥INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥))
We simplified constraint (103) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(104) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥)∧[2 + (-1)bso_60] ≥ 0)
We simplified constraint (104) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(105) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥)∧[2 + (-1)bso_60] ≥ 0)
We simplified constraint (105) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(106) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥)∧[2 + (-1)bso_60] ≥ 0)
We simplified constraint (106) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(107) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_60] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16]) → LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16]))) which results in the following constraint:
(108) (LOAD23142(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16])≥LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))∧(UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥))
We simplified constraint (108) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(109) ((UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (109) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(110) ((UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (110) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(111) ((UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥)∧[(-1)bso_62] ≥ 0)
We simplified constraint (111) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(112) ((UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)
For Pair
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
COND_LOAD23142ARR9(
&&(
&&(
&&(
&&(
&&(
&&(
&&(
>(
i7793,
0),
>(
+(
i6073,
1),
0)),
<(
+(
i6073,
1),
i3)),
>(
i6444,
0)),
>(
i6073,
0)),
<(
i6073,
i3)),
>(
i6075,
0)),
>(
+(
+(
i6073,
1),
1),
0)),
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) the following chains were created:
- We consider the chain LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17]))) → COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17]))), COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3[18], a43225data[18])), i6073[18], i6075[18], java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])), java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18]))) → INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18]) which results in the following constraint:
(113) (i7793[17]=i7793[18]∧i7574[17]=i7574[18]∧i7576[17]=i7576[18]∧a48595[17]=a48595[18]∧i6444[17]=i6444[18]∧i6342[17]=i6342[18]∧i6344[17]=i6344[18]∧a44494[17]=a44494[18]∧&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0))=TRUE∧i3[17]=i3[18]∧a43225data[17]=a43225data[18]∧i6075[17]=i6075[18]∧i6073[17]=i6073[18] ⇒ LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))≥NonInfC∧LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))≥COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))∧(UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥))
We simplified constraint (113) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(114) (>(+(+(i6073[17], 1), 1), 0)=TRUE∧>(i6075[17], 0)=TRUE∧<(i6073[17], i3[17])=TRUE∧>(i6073[17], 0)=TRUE∧>(i6444[17], 0)=TRUE∧<(+(i6073[17], 1), i3[17])=TRUE∧>(i7793[17], 0)=TRUE∧>(+(i6073[17], 1), 0)=TRUE ⇒ LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))≥NonInfC∧LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))≥COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))∧(UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥))
We simplified constraint (114) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(115) (i6073[17] + [1] ≥ 0∧i6075[17] + [-1] ≥ 0∧i3[17] + [-1] + [-1]i6073[17] ≥ 0∧i6073[17] + [-1] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (115) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(116) (i6073[17] + [1] ≥ 0∧i6075[17] + [-1] ≥ 0∧i3[17] + [-1] + [-1]i6073[17] ≥ 0∧i6073[17] + [-1] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (116) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(117) (i6073[17] + [1] ≥ 0∧i6075[17] + [-1] ≥ 0∧i3[17] + [-1] + [-1]i6073[17] ≥ 0∧i6073[17] + [-1] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (117) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(118) (i6073[17] + [1] ≥ 0∧i6075[17] + [-1] ≥ 0∧i3[17] + [-1] + [-1]i6073[17] ≥ 0∧i6073[17] + [-1] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_63 + (-1)Bound*bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (118) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(119) ([2] + i6073[17] ≥ 0∧i6075[17] + [-1] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-3] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-2)bni_63 + (-1)Bound*bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (119) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(120) ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧i3[17] + [-2] + [-1]i6073[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] + [-3] + [-1]i6073[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + (-1)bni_63] + [bni_63]i6075[17] + [(-1)bni_63]i6073[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (120) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(121) ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧i3[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] + [-1] ≥ 0∧[-1] + i3[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + bni_63] + [bni_63]i6075[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (121) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(122) ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧[1] + i3[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] + [-1] ≥ 0∧i3[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + (2)bni_63] + [bni_63]i6075[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (122) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(123) ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧[1] + i3[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] ≥ 0∧i3[17] ≥ 0∧i7793[17] + [-1] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + (2)bni_63] + [bni_63]i6075[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
We simplified constraint (123) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(124) ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧[1] + i3[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] ≥ 0∧i3[17] ≥ 0∧i7793[17] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + (2)bni_63] + [bni_63]i6075[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
For Pair
COND_LOAD23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3,
a43225data)),
i6073,
i6075,
java.lang.Object(
java.lang.String(
i7793,
i7574,
i7576,
a48595)),
java.lang.Object(
java.lang.String(
i6444,
i6342,
i6344,
a44494))) →
INC23250(
java.lang.Object(
ARRAY(
i3,
a43225data)),
+(
+(
i6073,
1),
1),
i6075) the following chains were created:
- We consider the chain COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3[18], a43225data[18])), i6073[18], i6075[18], java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])), java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18]))) → INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18]) which results in the following constraint:
(125) (COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3[18], a43225data[18])), i6073[18], i6075[18], java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])), java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18])))≥NonInfC∧COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3[18], a43225data[18])), i6073[18], i6075[18], java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])), java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18])))≥INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])∧(UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥))
We simplified constraint (125) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(126) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥)∧[2 + (-1)bso_66] ≥ 0)
We simplified constraint (126) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(127) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥)∧[2 + (-1)bso_66] ≥ 0)
We simplified constraint (127) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(128) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥)∧[2 + (-1)bso_66] ≥ 0)
We simplified constraint (128) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(129) ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_66] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142ARR3(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075)
- ((UIncreasing(LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_30] ≥ 0)
- LOAD23142ARR3(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073, 1), 0), <(+(i6073, 1), i3)), >(i6073, 0)), <(i6073, i3)), >(i6075, 0)), >(+(+(i6073, 1), 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075)
- ([2] + i6073[1] ≥ 0∧i6075[1] ≥ 0∧[1] + i3[1] ≥ 0∧i6073[1] ≥ 0∧[1] + i6073[1] ≥ 0∧i3[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])), ≥)∧0 = 0∧[(-1)Bound*bni_31 + (2)bni_31] + [bni_31]i6075[1] + [bni_31]i3[1] ≥ 0∧0 = 0∧[(-1)bso_32] ≥ 0)
- COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → NEW26117(java.lang.Object(ARRAY(i3, a43225data)), +(+(i6073, 1), 1), i6075)
- ((UIncreasing(NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_34] ≥ 0)
- INC23250(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, +(i6075, -1))
- ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → COND_LOAD23142(>(i6075, 0), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075)
- (i6075[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧0 = 0∧[bni_37] = 0∧[(-1)bni_37] = 0∧[(-1)Bound*bni_37] + [bni_37]i6075[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
- COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, +(i6075, -1))
- ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_40] ≥ 0)
- NEW26117(java.lang.Object(ARRAY(i3, a43225data)), i6885, i6075) → INC23250(java.lang.Object(ARRAY(i3, a43225data)), i6885, i6075)
- ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142ARR4(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075)
- ((UIncreasing(LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_44] ≥ 0)
- LOAD23142ARR4(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073, 1), 0), <(+(i6073, 1), i3)), >(i6073, 0)), <(i6073, i3)), >(i6075, 0)), >(+(+(i6073, 1), 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075)
- ([2] + i6073[8] ≥ 0∧i6075[8] ≥ 0∧[1] + i3[8] ≥ 0∧i6073[8] ≥ 0∧[1] + i6073[8] ≥ 0∧i3[8] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])), ≥)∧0 = 0∧[(-1)Bound*bni_45 + (2)bni_45] + [bni_45]i6075[8] + [bni_45]i3[8] ≥ 0∧0 = 0∧[(-1)bso_46] ≥ 0)
- COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → INC23250(java.lang.Object(ARRAY(i3, a43225data)), +(+(i6073, 1), 1), i6075)
- ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_48] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142ARR5(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7267, i7109, i7111, a47215)))
- ((UIncreasing(LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_50] ≥ 0)
- LOAD23142ARR5(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7267, i7109, i7111, a47215))) → COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267, 0), >(+(i6073, 1), 0)), <(+(i6073, 1), i3)), >(i6073, 0)), <(i6073, i3)), >(i6075, 0)), >(+(+(i6073, 1), 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7267, i7109, i7111, a47215)))
- ([2] + i6073[11] ≥ 0∧i6075[11] ≥ 0∧[1] + i3[11] ≥ 0∧i6073[11] ≥ 0∧i3[11] ≥ 0∧i7267[11] ≥ 0∧[1] + i6073[11] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_51 + (2)bni_51] + [bni_51]i6075[11] + [bni_51]i3[11] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_52] ≥ 0)
- COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7267, i7109, i7111, a47215))) → INC23250(java.lang.Object(ARRAY(i3, a43225data)), +(+(i6073, 1), 1), i6075)
- ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_54] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142ARR7(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494)))
- ((UIncreasing(LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_56] ≥ 0)
- LOAD23142ARR7(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494))) → COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073, 1), 0), <(+(i6073, 1), i3)), >(i6444, 0)), >(i6073, 0)), <(i6073, i3)), >(i6075, 0)), >(+(+(i6073, 1), 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494)))
- ([2] + i6073[14] ≥ 0∧i6075[14] ≥ 0∧[1] + i3[14] ≥ 0∧i6073[14] ≥ 0∧i6444[14] ≥ 0∧[1] + i6073[14] ≥ 0∧i3[14] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_57 + (2)bni_57] + [bni_57]i6075[14] + [bni_57]i3[14] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_58] ≥ 0)
- COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494))) → INC23250(java.lang.Object(ARRAY(i3, a43225data)), +(+(i6073, 1), 1), i6075)
- ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_60] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075) → LOAD23142ARR9(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7793, i7574, i7576, a48595)), java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494)))
- ((UIncreasing(LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_62] ≥ 0)
- LOAD23142ARR9(java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7793, i7574, i7576, a48595)), java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494))) → COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793, 0), >(+(i6073, 1), 0)), <(+(i6073, 1), i3)), >(i6444, 0)), >(i6073, 0)), <(i6073, i3)), >(i6075, 0)), >(+(+(i6073, 1), 1), 0)), java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7793, i7574, i7576, a48595)), java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494)))
- ([2] + i6073[17] ≥ 0∧i6075[17] ≥ 0∧[1] + i3[17] ≥ 0∧i6073[17] ≥ 0∧i6444[17] ≥ 0∧i3[17] ≥ 0∧i7793[17] ≥ 0∧[1] + i6073[17] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_63 + (2)bni_63] + [bni_63]i6075[17] + [bni_63]i3[17] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_64] ≥ 0)
- COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3, a43225data)), i6073, i6075, java.lang.Object(java.lang.String(i7793, i7574, i7576, a48595)), java.lang.Object(java.lang.String(i6444, i6342, i6344, a44494))) → INC23250(java.lang.Object(ARRAY(i3, a43225data)), +(+(i6073, 1), 1), i6075)
- ((UIncreasing(INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_66] ≥ 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(LOAD23142(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1]x1
POL(LOAD23142ARR3(x1, x2, x3)) = [-1] + x3 + [-1]x1 + [-1]x2
POL(COND_LOAD23142ARR3(x1, x2, x3, x4)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(NEW26117(x1, x2, x3)) = [-1] + [-1]x2 + x3 + [-1]x1
POL(INC23250(x1, x2, x3)) = [-1] + [-1]x1 + x3 + [-1]x2
POL(-1) = [-1]
POL(COND_LOAD23142(x1, x2, x3, x4)) = [-1] + x4 + [-1]x2 + [-1]x3
POL(LOAD23142ARR4(x1, x2, x3)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD23142ARR4(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD23142ARR5(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD23142ARR5(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD23142ARR7(x1, x2, x3, x4)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD23142ARR7(x1, x2, x3, x4, x5)) = [-1] + x4 + [-1]x3 + [-1]x2
POL(LOAD23142ARR9(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1
POL(COND_LOAD23142ARR9(x1, x2, x3, x4, x5, x6)) = [-1] + x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
COND_LOAD23142ARR3(TRUE, java.lang.Object(ARRAY(i3[2], a43225data[2])), i6073[2], i6075[2]) → NEW26117(java.lang.Object(ARRAY(i3[2], a43225data[2])), +(+(i6073[2], 1), 1), i6075[2])
INC23250(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], i6075[3]) → LOAD23142(java.lang.Object(ARRAY(i3[3], a43225data[3])), i6073[3], +(i6075[3], -1))
COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))
COND_LOAD23142ARR4(TRUE, java.lang.Object(ARRAY(i3[9], a43225data[9])), i6073[9], i6075[9]) → INC23250(java.lang.Object(ARRAY(i3[9], a43225data[9])), +(+(i6073[9], 1), 1), i6075[9])
COND_LOAD23142ARR5(TRUE, java.lang.Object(ARRAY(i3[12], a43225data[12])), i6073[12], i6075[12], java.lang.Object(java.lang.String(i7267[12], i7109[12], i7111[12], a47215[12]))) → INC23250(java.lang.Object(ARRAY(i3[12], a43225data[12])), +(+(i6073[12], 1), 1), i6075[12])
COND_LOAD23142ARR7(TRUE, java.lang.Object(ARRAY(i3[15], a43225data[15])), i6073[15], i6075[15], java.lang.Object(java.lang.String(i6444[15], i6342[15], i6344[15], a44494[15]))) → INC23250(java.lang.Object(ARRAY(i3[15], a43225data[15])), +(+(i6073[15], 1), 1), i6075[15])
COND_LOAD23142ARR9(TRUE, java.lang.Object(ARRAY(i3[18], a43225data[18])), i6073[18], i6075[18], java.lang.Object(java.lang.String(i7793[18], i7574[18], i7576[18], a48595[18])), java.lang.Object(java.lang.String(i6444[18], i6342[18], i6344[18], a44494[18]))) → INC23250(java.lang.Object(ARRAY(i3[18], a43225data[18])), +(+(i6073[18], 1), 1), i6075[18])
The following pairs are in P
bound:
LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]) → COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])
LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]) → COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])
LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11]))) → COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))
LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14]))) → COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))
LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17]))) → COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))
The following pairs are in P
≥:
LOAD23142(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0]) → LOAD23142ARR3(java.lang.Object(ARRAY(i3[0], a43225data[0])), i6073[0], i6075[0])
LOAD23142ARR3(java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1]) → COND_LOAD23142ARR3(&&(&&(&&(&&(&&(>(+(i6073[1], 1), 0), <(+(i6073[1], 1), i3[1])), >(i6073[1], 0)), <(i6073[1], i3[1])), >(i6075[1], 0)), >(+(+(i6073[1], 1), 1), 0)), java.lang.Object(ARRAY(i3[1], a43225data[1])), i6073[1], i6075[1])
LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])
NEW26117(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6]) → INC23250(java.lang.Object(ARRAY(i3[6], a43225data[6])), i6885[6], i6075[6])
LOAD23142(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7]) → LOAD23142ARR4(java.lang.Object(ARRAY(i3[7], a43225data[7])), i6073[7], i6075[7])
LOAD23142ARR4(java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8]) → COND_LOAD23142ARR4(&&(&&(&&(&&(&&(>(+(i6073[8], 1), 0), <(+(i6073[8], 1), i3[8])), >(i6073[8], 0)), <(i6073[8], i3[8])), >(i6075[8], 0)), >(+(+(i6073[8], 1), 1), 0)), java.lang.Object(ARRAY(i3[8], a43225data[8])), i6073[8], i6075[8])
LOAD23142(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10]) → LOAD23142ARR5(java.lang.Object(ARRAY(i3[10], a43225data[10])), i6073[10], i6075[10], java.lang.Object(java.lang.String(i7267[10], i7109[10], i7111[10], a47215[10])))
LOAD23142ARR5(java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11]))) → COND_LOAD23142ARR5(&&(&&(&&(&&(&&(&&(>(i7267[11], 0), >(+(i6073[11], 1), 0)), <(+(i6073[11], 1), i3[11])), >(i6073[11], 0)), <(i6073[11], i3[11])), >(i6075[11], 0)), >(+(+(i6073[11], 1), 1), 0)), java.lang.Object(ARRAY(i3[11], a43225data[11])), i6073[11], i6075[11], java.lang.Object(java.lang.String(i7267[11], i7109[11], i7111[11], a47215[11])))
LOAD23142(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13]) → LOAD23142ARR7(java.lang.Object(ARRAY(i3[13], a43225data[13])), i6073[13], i6075[13], java.lang.Object(java.lang.String(i6444[13], i6342[13], i6344[13], a44494[13])))
LOAD23142ARR7(java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14]))) → COND_LOAD23142ARR7(&&(&&(&&(&&(&&(&&(>(+(i6073[14], 1), 0), <(+(i6073[14], 1), i3[14])), >(i6444[14], 0)), >(i6073[14], 0)), <(i6073[14], i3[14])), >(i6075[14], 0)), >(+(+(i6073[14], 1), 1), 0)), java.lang.Object(ARRAY(i3[14], a43225data[14])), i6073[14], i6075[14], java.lang.Object(java.lang.String(i6444[14], i6342[14], i6344[14], a44494[14])))
LOAD23142(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16]) → LOAD23142ARR9(java.lang.Object(ARRAY(i3[16], a43225data[16])), i6073[16], i6075[16], java.lang.Object(java.lang.String(i7793[16], i7574[16], i7576[16], a48595[16])), java.lang.Object(java.lang.String(i6444[16], i6342[16], i6344[16], a44494[16])))
LOAD23142ARR9(java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17]))) → COND_LOAD23142ARR9(&&(&&(&&(&&(&&(&&(&&(>(i7793[17], 0), >(+(i6073[17], 1), 0)), <(+(i6073[17], 1), i3[17])), >(i6444[17], 0)), >(i6073[17], 0)), <(i6073[17], i3[17])), >(i6075[17], 0)), >(+(+(i6073[17], 1), 1), 0)), java.lang.Object(ARRAY(i3[17], a43225data[17])), i6073[17], i6075[17], java.lang.Object(java.lang.String(i7793[17], i7574[17], i7576[17], a48595[17])), java.lang.Object(java.lang.String(i6444[17], i6342[17], i6344[17], a44494[17])))
There are no usable rules.
(34) Complex Obligation (AND)
(35) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD23142(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0]) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0])
(1):
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1]) →
COND_LOAD23142ARR3(
i6073[1] + 1 > 0 && i6073[1] + 1 < i3[1] && i6073[1] > 0 && i6073[1] < i3[1] && i6075[1] > 0 && i6073[1] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[1],
a43225data[1])),
i6073[1],
i6075[1])
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(6):
NEW26117(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6]) →
INC23250(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6])
(7):
LOAD23142(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7]) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7])
(8):
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8]) →
COND_LOAD23142ARR4(
i6073[8] + 1 > 0 && i6073[8] + 1 < i3[8] && i6073[8] > 0 && i6073[8] < i3[8] && i6075[8] > 0 && i6073[8] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[8],
a43225data[8])),
i6073[8],
i6075[8])
(10):
LOAD23142(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10]) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10],
java.lang.Object(
java.lang.String(
i7267[10],
i7109[10],
i7111[10],
a47215[10])))
(11):
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11]))) →
COND_LOAD23142ARR5(
i7267[11] > 0 && i6073[11] + 1 > 0 && i6073[11] + 1 < i3[11] && i6073[11] > 0 && i6073[11] < i3[11] && i6075[11] > 0 && i6073[11] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[11],
a43225data[11])),
i6073[11],
i6075[11],
java.lang.Object(
java.lang.String(
i7267[11],
i7109[11],
i7111[11],
a47215[11])))
(13):
LOAD23142(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13]) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13],
java.lang.Object(
java.lang.String(
i6444[13],
i6342[13],
i6344[13],
a44494[13])))
(14):
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14]))) →
COND_LOAD23142ARR7(
i6073[14] + 1 > 0 && i6073[14] + 1 < i3[14] && i6444[14] > 0 && i6073[14] > 0 && i6073[14] < i3[14] && i6075[14] > 0 && i6073[14] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[14],
a43225data[14])),
i6073[14],
i6075[14],
java.lang.Object(
java.lang.String(
i6444[14],
i6342[14],
i6344[14],
a44494[14])))
(16):
LOAD23142(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16]) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16],
java.lang.Object(
java.lang.String(
i7793[16],
i7574[16],
i7576[16],
a48595[16])),
java.lang.Object(
java.lang.String(
i6444[16],
i6342[16],
i6344[16],
a44494[16])))
(17):
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17]))) →
COND_LOAD23142ARR9(
i7793[17] > 0 && i6073[17] + 1 > 0 && i6073[17] + 1 < i3[17] && i6444[17] > 0 && i6073[17] > 0 && i6073[17] < i3[17] && i6075[17] > 0 && i6073[17] + 1 + 1 > 0,
java.lang.Object(
ARRAY(
i3[17],
a43225data[17])),
i6073[17],
i6075[17],
java.lang.Object(
java.lang.String(
i7793[17],
i7574[17],
i7576[17],
a48595[17])),
java.lang.Object(
java.lang.String(
i6444[17],
i6342[17],
i6344[17],
a44494[17])))
(0) -> (1), if ((i6073[0] →* i6073[1])∧((i3[0] →* i3[1])∧(a43225data[0] →* a43225data[1]))∧(i6075[0] →* i6075[1]))
(7) -> (8), if (((i3[7] →* i3[8])∧(a43225data[7] →* a43225data[8]))∧(i6073[7] →* i6073[8])∧(i6075[7] →* i6075[8]))
(10) -> (11), if (((i3[10] →* i3[11])∧(a43225data[10] →* a43225data[11]))∧((i7267[10] →* i7267[11])∧(i7109[10] →* i7109[11])∧(i7111[10] →* i7111[11])∧(a47215[10] →* a47215[11]))∧(i6075[10] →* i6075[11])∧(i6073[10] →* i6073[11]))
(13) -> (14), if (((i6444[13] →* i6444[14])∧(i6342[13] →* i6342[14])∧(i6344[13] →* i6344[14])∧(a44494[13] →* a44494[14]))∧(i6073[13] →* i6073[14])∧(i6075[13] →* i6075[14])∧((i3[13] →* i3[14])∧(a43225data[13] →* a43225data[14])))
(16) -> (17), if (((i7793[16] →* i7793[17])∧(i7574[16] →* i7574[17])∧(i7576[16] →* i7576[17])∧(a48595[16] →* a48595[17]))∧((i3[16] →* i3[17])∧(a43225data[16] →* a43225data[17]))∧(i6075[16] →* i6075[17])∧((i6444[16] →* i6444[17])∧(i6342[16] →* i6342[17])∧(i6344[16] →* i6344[17])∧(a44494[16] →* a44494[17]))∧(i6073[16] →* i6073[17]))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(36) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 12 less nodes.
(37) TRUE
(38) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD23142(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0]) →
LOAD23142ARR3(
java.lang.Object(
ARRAY(
i3[0],
a43225data[0])),
i6073[0],
i6075[0])
(2):
COND_LOAD23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2],
i6075[2]) →
NEW26117(
java.lang.Object(
ARRAY(
i3[2],
a43225data[2])),
i6073[2] + 1 + 1,
i6075[2])
(3):
INC23250(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[3],
a43225data[3])),
i6073[3],
i6075[3] + -1)
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
(6):
NEW26117(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6]) →
INC23250(
java.lang.Object(
ARRAY(
i3[6],
a43225data[6])),
i6885[6],
i6075[6])
(7):
LOAD23142(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7]) →
LOAD23142ARR4(
java.lang.Object(
ARRAY(
i3[7],
a43225data[7])),
i6073[7],
i6075[7])
(9):
COND_LOAD23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9],
i6075[9]) →
INC23250(
java.lang.Object(
ARRAY(
i3[9],
a43225data[9])),
i6073[9] + 1 + 1,
i6075[9])
(10):
LOAD23142(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10]) →
LOAD23142ARR5(
java.lang.Object(
ARRAY(
i3[10],
a43225data[10])),
i6073[10],
i6075[10],
java.lang.Object(
java.lang.String(
i7267[10],
i7109[10],
i7111[10],
a47215[10])))
(12):
COND_LOAD23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12],
i6075[12],
java.lang.Object(
java.lang.String(
i7267[12],
i7109[12],
i7111[12],
a47215[12]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[12],
a43225data[12])),
i6073[12] + 1 + 1,
i6075[12])
(13):
LOAD23142(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13]) →
LOAD23142ARR7(
java.lang.Object(
ARRAY(
i3[13],
a43225data[13])),
i6073[13],
i6075[13],
java.lang.Object(
java.lang.String(
i6444[13],
i6342[13],
i6344[13],
a44494[13])))
(15):
COND_LOAD23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15],
i6075[15],
java.lang.Object(
java.lang.String(
i6444[15],
i6342[15],
i6344[15],
a44494[15]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[15],
a43225data[15])),
i6073[15] + 1 + 1,
i6075[15])
(16):
LOAD23142(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16]) →
LOAD23142ARR9(
java.lang.Object(
ARRAY(
i3[16],
a43225data[16])),
i6073[16],
i6075[16],
java.lang.Object(
java.lang.String(
i7793[16],
i7574[16],
i7576[16],
a48595[16])),
java.lang.Object(
java.lang.String(
i6444[16],
i6342[16],
i6344[16],
a44494[16])))
(18):
COND_LOAD23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18],
i6075[18],
java.lang.Object(
java.lang.String(
i7793[18],
i7574[18],
i7576[18],
a48595[18])),
java.lang.Object(
java.lang.String(
i6444[18],
i6342[18],
i6344[18],
a44494[18]))) →
INC23250(
java.lang.Object(
ARRAY(
i3[18],
a43225data[18])),
i6073[18] + 1 + 1,
i6075[18])
(3) -> (0), if (((i3[3] →* i3[0])∧(a43225data[3] →* a43225data[0]))∧(i6073[3] →* i6073[0])∧(i6075[3] + -1 →* i6075[0]))
(5) -> (0), if ((i6073[5] →* i6073[0])∧((i3[5] →* i3[0])∧(a43225data[5] →* a43225data[0]))∧(i6075[5] + -1 →* i6075[0]))
(6) -> (3), if (((i3[6] →* i3[3])∧(a43225data[6] →* a43225data[3]))∧(i6885[6] →* i6073[3])∧(i6075[6] →* i6075[3]))
(9) -> (3), if ((i6073[9] + 1 + 1 →* i6073[3])∧(i6075[9] →* i6075[3])∧((i3[9] →* i3[3])∧(a43225data[9] →* a43225data[3])))
(12) -> (3), if (((i3[12] →* i3[3])∧(a43225data[12] →* a43225data[3]))∧(i6073[12] + 1 + 1 →* i6073[3])∧(i6075[12] →* i6075[3]))
(15) -> (3), if ((i6073[15] + 1 + 1 →* i6073[3])∧((i3[15] →* i3[3])∧(a43225data[15] →* a43225data[3]))∧(i6075[15] →* i6075[3]))
(18) -> (3), if ((i6073[18] + 1 + 1 →* i6073[3])∧((i3[18] →* i3[3])∧(a43225data[18] →* a43225data[3]))∧(i6075[18] →* i6075[3]))
(3) -> (4), if ((i6075[3] + -1 →* i6075[4])∧((i3[3] →* i3[4])∧(a43225data[3] →* a43225data[4]))∧(i6073[3] →* i6073[4]))
(5) -> (4), if (((i3[5] →* i3[4])∧(a43225data[5] →* a43225data[4]))∧(i6073[5] →* i6073[4])∧(i6075[5] + -1 →* i6075[4]))
(4) -> (5), if ((i6073[4] →* i6073[5])∧(i6075[4] > 0 →* TRUE)∧(i6075[4] →* i6075[5])∧((i3[4] →* i3[5])∧(a43225data[4] →* a43225data[5])))
(2) -> (6), if (((i3[2] →* i3[6])∧(a43225data[2] →* a43225data[6]))∧(i6075[2] →* i6075[6])∧(i6073[2] + 1 + 1 →* i6885[6]))
(3) -> (7), if ((i6075[3] + -1 →* i6075[7])∧((i3[3] →* i3[7])∧(a43225data[3] →* a43225data[7]))∧(i6073[3] →* i6073[7]))
(5) -> (7), if ((i6073[5] →* i6073[7])∧(i6075[5] + -1 →* i6075[7])∧((i3[5] →* i3[7])∧(a43225data[5] →* a43225data[7])))
(3) -> (10), if ((i6075[3] + -1 →* i6075[10])∧((i3[3] →* i3[10])∧(a43225data[3] →* a43225data[10]))∧(i6073[3] →* i6073[10]))
(5) -> (10), if (((i3[5] →* i3[10])∧(a43225data[5] →* a43225data[10]))∧(i6075[5] + -1 →* i6075[10])∧(i6073[5] →* i6073[10]))
(3) -> (13), if ((i6075[3] + -1 →* i6075[13])∧(i6073[3] →* i6073[13])∧((i3[3] →* i3[13])∧(a43225data[3] →* a43225data[13])))
(5) -> (13), if ((i6075[5] + -1 →* i6075[13])∧(i6073[5] →* i6073[13])∧((i3[5] →* i3[13])∧(a43225data[5] →* a43225data[13])))
(3) -> (16), if ((i6075[3] + -1 →* i6075[16])∧((i3[3] →* i3[16])∧(a43225data[3] →* a43225data[16]))∧(i6073[3] →* i6073[16]))
(5) -> (16), if ((i6073[5] →* i6073[16])∧(i6075[5] + -1 →* i6075[16])∧((i3[5] →* i3[16])∧(a43225data[5] →* a43225data[16])))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(39) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 12 less nodes.
(40) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
(4):
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
i6075[4] > 0,
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4])
(5) -> (4), if (((i3[5] →* i3[4])∧(a43225data[5] →* a43225data[4]))∧(i6073[5] →* i6073[4])∧(i6075[5] + -1 →* i6075[4]))
(4) -> (5), if ((i6073[4] →* i6073[5])∧(i6075[4] > 0 →* TRUE)∧(i6075[4] →* i6075[5])∧((i3[4] →* i3[5])∧(a43225data[4] →* a43225data[5])))
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(41) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
+(
i6075[5],
-1)) the following chains were created:
- We consider the chain COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1)) which results in the following constraint:
(1) (COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5])≥NonInfC∧COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5])≥LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))∧(UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥))
We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(2) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)
We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(3) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)
We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(4) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧[(-1)bso_10] ≥ 0)
We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(5) ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧0 = 0∧[(-1)bso_10] ≥ 0)
For Pair
LOAD23142(
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) →
COND_LOAD23142(
>(
i6075[4],
0),
java.lang.Object(
ARRAY(
i3[4],
a43225data[4])),
i6073[4],
i6075[4]) the following chains were created:
- We consider the chain LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]), COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1)) which results in the following constraint:
(6) (i6073[4]=i6073[5]∧>(i6075[4], 0)=TRUE∧i6075[4]=i6075[5]∧i3[4]=i3[5]∧a43225data[4]=a43225data[5] ⇒ LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])∧(UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥))
We simplified constraint (6) using rule (IV) which results in the following new constraint:
(7) (>(i6075[4], 0)=TRUE ⇒ LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥NonInfC∧LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])≥COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])∧(UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i6075[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i6075[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) (i6075[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i6075[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)
We simplified constraint (10) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(11) (i6075[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i6075[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))
- ((UIncreasing(LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))), ≥)∧0 = 0∧[(-1)bso_10] ≥ 0)
- LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])
- (i6075[4] ≥ 0 ⇒ (UIncreasing(COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(2)bni_11]i6075[4] ≥ 0∧[2 + (-1)bso_12] ≥ 0)
The constraints for P
> respective P
bound are constructed from P
≥ where we just replace every occurence of "t ≥ s" in P
≥ by "t > s" respective "t ≥
c". Here
c stands for the fresh constant used for P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_LOAD23142(x1, x2, x3, x4)) = [-1] + [2]x4
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1, x2)) = [-1]
POL(LOAD23142(x1, x2, x3)) = [1] + [2]x3
POL(+(x1, x2)) = x1 + x2
POL(-1) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
The following pairs are in P
>:
LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])
The following pairs are in P
bound:
LOAD23142(java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4]) → COND_LOAD23142(>(i6075[4], 0), java.lang.Object(ARRAY(i3[4], a43225data[4])), i6073[4], i6075[4])
The following pairs are in P
≥:
COND_LOAD23142(TRUE, java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], i6075[5]) → LOAD23142(java.lang.Object(ARRAY(i3[5], a43225data[5])), i6073[5], +(i6075[5], -1))
There are no usable rules.
(42) 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:
(5):
COND_LOAD23142(
TRUE,
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5]) →
LOAD23142(
java.lang.Object(
ARRAY(
i3[5],
a43225data[5])),
i6073[5],
i6075[5] + -1)
The set Q consists of the following terms:
Load23142(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc23250(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
New26117(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load23142ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load23142ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load23142ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load23142ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load23142ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
(43) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.
(44) TRUE