(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: LessLeaves
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Graph of 1140 nodes with 4 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:
Load30394(
o46996,
o46995,
o46993,
o46994) →
NULL30760(
o46996,
o46995,
o46993,
o46994,
o46993)
NULL30760(
o47598,
o47597,
java.lang.Object(
Tree(
o48058Field0,
o48058Field1,
o48058Field2)),
o47596,
java.lang.Object(
Tree(
o48058Field0,
o48058Field1,
o48058Field2))) →
Load31061(
o47598,
o47597,
java.lang.Object(
Tree(
o48058Field0,
o48058Field1,
o48058Field2)),
o47596)
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)),
o51151,
o51152)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load33429(
o48434,
o48433,
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)),
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)),
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)),
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)))
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55310,
java.lang.Object(
Tree(
o55746Field0,
o55746Field1,
o55746Field2)),
o55312))) →
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55746Field0,
o55746Field1,
o55746Field2)))
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55310,
NULL,
o55312))) →
Load32946(
o54782,
o54781,
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)))
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55395,
NULL,
o55397))) →
Load32946(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
o54852,
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)))
Load31061(
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
o48433,
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load32946(
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
o48433,
o51156,
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)))
Load32946(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
o54053,
o54054))) →
Load34715(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)))
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
o54053,
o54054))) →
Load34715(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)))
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o58489,
java.lang.Object(
Tree(
o59132Field0,
o59132Field1,
o59132Field2)),
o58491))) →
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o59132Field0,
o59132Field1,
o59132Field2)))
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o58489,
NULL,
o58491))) →
JMP33894(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)))
Load34789(
o57854,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o58510,
NULL,
o58512))) →
JMP33894(
o57854,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
o57851,
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)))
Load32946(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
NULL,
o54058,
o54059))) →
JMP33894(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
o54058)
Load31061(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
NULL,
o54058,
o54059))) →
JMP33894(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
o54058)
JMP33894(
o48434,
o48433,
o51151,
o54053) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load32946(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
NULL,
o54053,
o54054))) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
NULL,
o54053,
o54054))) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load32946(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059))) →
Load34789(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)))
Load31061(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059))) →
Load34789(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)))
Load34789(
o57854,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o58510,
java.lang.Object(
Tree(
o59183Field0,
o59183Field1,
o59183Field2)),
o58512))) →
Load34789(
o57854,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o59183Field0,
o59183Field1,
o59183Field2)))
Load31061(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)),
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)))
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55395,
java.lang.Object(
Tree(
o55824Field0,
o55824Field1,
o55824Field2)),
o55397))) →
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55824Field0,
o55824Field1,
o55824Field2)))
The set Q consists of the following terms:
Load30394(
x0,
x1,
x2,
x3)
NULL30760(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
java.lang.Object(
Tree(
x2,
x3,
x4)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load33429(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x8,
java.lang.Object(
Tree(
x9,
x10,
x11)),
x12)))
Load33429(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x8,
NULL,
x9)))
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x0,
x1,
x2)),
x3,
x4)),
x5,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x0,
x1,
x2)),
x3,
x4)),
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
Tree(
x0,
x1,
x2)),
java.lang.Object(
Tree(
x0,
x1,
x2)),
java.lang.Object(
Tree(
x9,
NULL,
x10)))
Load31061(
java.lang.Object(
Tree(
NULL,
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
x0,
x1)),
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load32946(
x0,
x1,
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
x5)),
x6,
x7)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
NULL,
x2,
x3)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
x8)))
Load34715(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load34715(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load34789(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
x6,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x7,
NULL,
x8)))
JMP33894(
x0,
x1,
x2,
x3)
Load32946(
x0,
x1,
x2,
java.lang.Object(
Tree(
NULL,
x3,
x4)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
NULL,
x2,
x3)),
java.lang.Object(
Tree(
NULL,
x4,
x5)))
Load34789(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
x6,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)))
Load33525(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x0,
x1,
x2)),
x3,
x4)),
x5,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x0,
x1,
x2)),
x3,
x4)),
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
Tree(
x0,
x1,
x2)),
java.lang.Object(
Tree(
x0,
x1,
x2)),
java.lang.Object(
Tree(
x9,
java.lang.Object(
Tree(
x10,
x11,
x12)),
x13)))
(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
Load33525(x1, x2, x3, x4, x5, x6, x7) → Load33525(x2, x3, x4, x6, x7)
Load34789(x1, x2, x3, x4, x5, x6, x7) → Load34789(x1, x3, x4, x6, x7)
Load34715(x1, x2, x3, x4, x5, x6) → Load34715(x1, x2, x3, x5, x6)
Load33429(x1, x2, x3, x4, x5, x6) → Load33429(x1, x2, x3, x5, x6)
NULL30760(x1, x2, x3, x4, x5) → NULL30760(x1, x2, x4, x5)
(7) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load30394(
o46996,
o46995,
o46993,
o46994) →
NULL30760(
o46996,
o46995,
o46994,
o46993)
NULL30760(
o47598,
o47597,
o47596,
java.lang.Object(
Tree(
o48058Field0,
o48058Field1,
o48058Field2))) →
Load31061(
o47598,
o47597,
java.lang.Object(
Tree(
o48058Field0,
o48058Field1,
o48058Field2)),
o47596)
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)),
o51151,
o51152)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load33429(
o48434,
o48433,
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)),
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)),
java.lang.Object(
Tree(
o53324Field0,
o53324Field1,
o53324Field2)))
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55310,
java.lang.Object(
Tree(
o55746Field0,
o55746Field1,
o55746Field2)),
o55312))) →
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55746Field0,
o55746Field1,
o55746Field2)))
Load33429(
o54782,
o54781,
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)),
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o55310,
NULL,
o55312))) →
Load32946(
o54782,
o54781,
java.lang.Object(
Tree(
o54775Field0,
o54775Field1,
o54775Field2)),
java.lang.Object(
Tree(
o54780Field0,
o54780Field1,
o54780Field2)))
Load33525(
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55395,
NULL,
o55397))) →
Load32946(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
o54852,
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)))
Load31061(
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
o48433,
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load32946(
java.lang.Object(
Tree(
NULL,
o51156,
o51157)),
o48433,
o51156,
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)))
Load32946(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
o54053,
o54054))) →
Load34715(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)))
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
o54053,
o54054))) →
Load34715(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)),
java.lang.Object(
Tree(
o54961Field0,
o54961Field1,
o54961Field2)))
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o58489,
java.lang.Object(
Tree(
o59132Field0,
o59132Field1,
o59132Field2)),
o58491))) →
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o59132Field0,
o59132Field1,
o59132Field2)))
Load34715(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)),
java.lang.Object(
Tree(
o58489,
NULL,
o58491))) →
JMP33894(
o57810,
o57809,
o57806,
java.lang.Object(
Tree(
o57803Field0,
o57803Field1,
o57803Field2)))
Load34789(
o57854,
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o58510,
NULL,
o58512))) →
JMP33894(
o57854,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
o57851,
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)))
Load32946(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
NULL,
o54058,
o54059))) →
JMP33894(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
o54058)
Load31061(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
NULL,
o54058,
o54059))) →
JMP33894(
o48434,
java.lang.Object(
Tree(
NULL,
o54058,
o54059)),
o51151,
o54058)
JMP33894(
o48434,
o48433,
o51151,
o54053) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load32946(
o48434,
o48433,
o51151,
java.lang.Object(
Tree(
NULL,
o54053,
o54054))) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load31061(
o48434,
o48433,
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
NULL,
o54053,
o54054))) →
Load30394(
o48434,
o48433,
o51151,
o54053)
Load32946(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059))) →
Load34789(
o48434,
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)))
Load31061(
o48434,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
NULL,
o51151,
o51152)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059))) →
Load34789(
o48434,
o51151,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
o54058,
o54059)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)),
java.lang.Object(
Tree(
o54988Field0,
o54988Field1,
o54988Field2)))
Load34789(
o57854,
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o58510,
java.lang.Object(
Tree(
o59183Field0,
o59183Field1,
o59183Field2)),
o58512))) →
Load34789(
o57854,
o57851,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
o57849,
o57853)),
java.lang.Object(
Tree(
o57848Field0,
o57848Field1,
o57848Field2)),
java.lang.Object(
Tree(
o59183Field0,
o59183Field1,
o59183Field2)))
Load31061(
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2))) →
Load33525(
o48433,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
o51156,
o51157)),
java.lang.Object(
Tree(
o49287Field0,
o49287Field1,
o49287Field2)),
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)),
java.lang.Object(
Tree(
o53341Field0,
o53341Field1,
o53341Field2)))
Load33525(
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55395,
java.lang.Object(
Tree(
o55824Field0,
o55824Field1,
o55824Field2)),
o55397))) →
Load33525(
o54852,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
o54847,
o54850)),
java.lang.Object(
Tree(
o54851Field0,
o54851Field1,
o54851Field2)),
java.lang.Object(
Tree(
o54846Field0,
o54846Field1,
o54846Field2)),
java.lang.Object(
Tree(
o55824Field0,
o55824Field1,
o55824Field2)))
The set Q consists of the following terms:
Load30394(
x0,
x1,
x2,
x3)
NULL30760(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
x6)),
java.lang.Object(
Tree(
x7,
x8,
x9)))
Load33429(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x8,
java.lang.Object(
Tree(
x9,
x10,
x11)),
x12)))
Load33429(
x0,
x1,
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
Tree(
x8,
NULL,
x9)))
Load33525(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x9,
NULL,
x10)))
Load31061(
java.lang.Object(
Tree(
NULL,
x0,
x1)),
x2,
java.lang.Object(
Tree(
NULL,
x0,
x1)),
java.lang.Object(
Tree(
x3,
x4,
x5)))
Load32946(
x0,
x1,
x2,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x3,
x4,
x5)),
x6,
x7)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
NULL,
x2,
x3)),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
x8)))
Load34715(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load34715(
x0,
x1,
x2,
java.lang.Object(
Tree(
x3,
x4,
x5)),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load34789(
x0,
x1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
x6)),
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x7,
NULL,
x8)))
JMP33894(
x0,
x1,
x2,
x3)
Load32946(
x0,
x1,
x2,
java.lang.Object(
Tree(
NULL,
x3,
x4)))
Load31061(
x0,
x1,
java.lang.Object(
Tree(
NULL,
x2,
x3)),
java.lang.Object(
Tree(
NULL,
x4,
x5)))
Load34789(
x0,
x1,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x2,
x3,
x4)),
x5,
x6)),
java.lang.Object(
Tree(
x2,
x3,
x4)),
java.lang.Object(
Tree(
x7,
java.lang.Object(
Tree(
x8,
x9,
x10)),
x11)))
Load33525(
x0,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x1,
x2,
x3)),
x4,
x5)),
java.lang.Object(
Tree(
x6,
x7,
x8)),
java.lang.Object(
Tree(
x1,
x2,
x3)),
java.lang.Object(
Tree(
x9,
java.lang.Object(
Tree(
x10,
x11,
x12)),
x13)))
(8) ITRStoQTRSProof (EQUIVALENT transformation)
Represented integers and predefined function symbols by Terms
(9) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
Load30394(o46996, o46995, o46993, o46994) → NULL30760(o46996, o46995, o46994, o46993)
NULL30760(o47598, o47597, o47596, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2))) → Load31061(o47598, o47597, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2)), o47596)
Load31061(o48434, o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), o51151, o51152)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33429(o48434, o48433, java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)))
Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55310, java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)), o55312))) → Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)))
Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55310, NULL, o55312))) → Load32946(o54782, o54781, java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)))
Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55395, NULL, o55397))) → Load32946(java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), o54852, java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)))
Load31061(java.lang.Object(Tree(NULL, o51156, o51157)), o48433, java.lang.Object(Tree(NULL, o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load32946(java.lang.Object(Tree(NULL, o51156, o51157)), o48433, o51156, java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)))
Load32946(o48434, o48433, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), o54053, o54054))) → Load34715(o48434, o48433, o51151, java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)))
Load31061(o48434, o48433, java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), o54053, o54054))) → Load34715(o48434, o48433, o51151, java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)))
Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o58489, java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)), o58491))) → Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)))
Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o58489, NULL, o58491))) → JMP33894(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)))
Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o58510, NULL, o58512))) → JMP33894(o57854, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), o57851, java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)))
Load32946(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, java.lang.Object(Tree(NULL, o54058, o54059))) → JMP33894(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, o54058)
Load31061(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(NULL, o54058, o54059))) → JMP33894(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, o54058)
JMP33894(o48434, o48433, o51151, o54053) → Load30394(o48434, o48433, o51151, o54053)
Load32946(o48434, o48433, o51151, java.lang.Object(Tree(NULL, o54053, o54054))) → Load30394(o48434, o48433, o51151, o54053)
Load31061(o48434, o48433, java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(NULL, o54053, o54054))) → Load30394(o48434, o48433, o51151, o54053)
Load32946(o48434, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059))) → Load34789(o48434, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)))
Load31061(o48434, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059))) → Load34789(o48434, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)))
Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o58510, java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)), o58512))) → Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)))
Load31061(java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33525(o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)))
Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55395, java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)), o55397))) → Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)))
The set Q consists of the following terms:
Load30394(x0, x1, x2, x3)
NULL30760(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31061(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x7, x8, x9)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, x11)), x12)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, NULL, x9)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, NULL, x10)))
Load31061(java.lang.Object(Tree(NULL, x0, x1)), x2, java.lang.Object(Tree(NULL, x0, x1)), java.lang.Object(Tree(x3, x4, x5)))
Load32946(x0, x1, x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4, x5)), x6, x7)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, x8)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, NULL, x7)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, NULL, x8)))
JMP33894(x0, x1, x2, x3)
Load32946(x0, x1, x2, java.lang.Object(Tree(NULL, x3, x4)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(NULL, x4, x5)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, java.lang.Object(Tree(x8, x9, x10)), x11)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, java.lang.Object(Tree(x10, x11, x12)), x13)))
(10) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(JMP33894(x1, x2, x3, x4)) = 2 + x1 + x2 + 2·x3 + x4
POL(Load30394(x1, x2, x3, x4)) = 1 + x1 + x2 + 2·x3 + x4
POL(Load31061(x1, x2, x3, x4)) = x1 + x2 + 2·x3 + x4
POL(Load32946(x1, x2, x3, x4)) = 2 + x1 + x2 + 2·x3 + x4
POL(Load33429(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + 2·x4 + 2·x5
POL(Load33525(x1, x2, x3, x4, x5)) = x1 + 2·x2 + x3 + 2·x4 + 2·x5
POL(Load34715(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + 2·x3 + 2·x4 + 2·x5
POL(Load34789(x1, x2, x3, x4, x5)) = 1 + x1 + 2·x2 + x3 + x4 + 2·x5
POL(NULL) = 2
POL(NULL30760(x1, x2, x3, x4)) = x1 + x2 + x3 + 2·x4
POL(Tree(x1, x2, x3)) = 2·x1 + 2·x2 + 2·x3
POL(java.lang.Object(x1)) = 2·x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
Load30394(o46996, o46995, o46993, o46994) → NULL30760(o46996, o46995, o46994, o46993)
Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55310, NULL, o55312))) → Load32946(o54782, o54781, java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)))
Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55395, NULL, o55397))) → Load32946(java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), o54852, java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)))
Load31061(java.lang.Object(Tree(NULL, o51156, o51157)), o48433, java.lang.Object(Tree(NULL, o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load32946(java.lang.Object(Tree(NULL, o51156, o51157)), o48433, o51156, java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)))
Load32946(o48434, o48433, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), o54053, o54054))) → Load34715(o48434, o48433, o51151, java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)))
Load31061(o48434, o48433, java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), o54053, o54054))) → Load34715(o48434, o48433, o51151, java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)), java.lang.Object(Tree(o54961Field0, o54961Field1, o54961Field2)))
Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o58489, NULL, o58491))) → JMP33894(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)))
Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o58510, NULL, o58512))) → JMP33894(o57854, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), o57851, java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)))
Load32946(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, java.lang.Object(Tree(NULL, o54058, o54059))) → JMP33894(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, o54058)
Load31061(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(NULL, o54058, o54059))) → JMP33894(o48434, java.lang.Object(Tree(NULL, o54058, o54059)), o51151, o54058)
JMP33894(o48434, o48433, o51151, o54053) → Load30394(o48434, o48433, o51151, o54053)
Load32946(o48434, o48433, o51151, java.lang.Object(Tree(NULL, o54053, o54054))) → Load30394(o48434, o48433, o51151, o54053)
Load31061(o48434, o48433, java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(NULL, o54053, o54054))) → Load30394(o48434, o48433, o51151, o54053)
Load32946(o48434, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059))) → Load34789(o48434, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)))
Load31061(o48434, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(NULL, o51151, o51152)), java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059))) → Load34789(o48434, o51151, java.lang.Object(Tree(java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), o54058, o54059)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)), java.lang.Object(Tree(o54988Field0, o54988Field1, o54988Field2)))
(11) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
NULL30760(o47598, o47597, o47596, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2))) → Load31061(o47598, o47597, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2)), o47596)
Load31061(o48434, o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), o51151, o51152)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33429(o48434, o48433, java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)))
Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55310, java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)), o55312))) → Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)))
Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o58489, java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)), o58491))) → Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)))
Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o58510, java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)), o58512))) → Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)))
Load31061(java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33525(o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)))
Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55395, java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)), o55397))) → Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)))
The set Q consists of the following terms:
Load30394(x0, x1, x2, x3)
NULL30760(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31061(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x7, x8, x9)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, x11)), x12)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, NULL, x9)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, NULL, x10)))
Load31061(java.lang.Object(Tree(NULL, x0, x1)), x2, java.lang.Object(Tree(NULL, x0, x1)), java.lang.Object(Tree(x3, x4, x5)))
Load32946(x0, x1, x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4, x5)), x6, x7)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, x8)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, NULL, x7)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, NULL, x8)))
JMP33894(x0, x1, x2, x3)
Load32946(x0, x1, x2, java.lang.Object(Tree(NULL, x3, x4)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(NULL, x4, x5)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, java.lang.Object(Tree(x8, x9, x10)), x11)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, java.lang.Object(Tree(x10, x11, x12)), x13)))
(12) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(Load31061(x1, x2, x3, x4)) = x1 + 2·x2 + 2·x3 + x4
POL(Load33429(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + x3 + 2·x4 + 2·x5
POL(Load33525(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + 2·x4 + x5
POL(Load34715(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + x4 + x5
POL(Load34789(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + x4 + x5
POL(NULL30760(x1, x2, x3, x4)) = 1 + 2·x1 + 2·x2 + 2·x3 + 2·x4
POL(Tree(x1, x2, x3)) = 1 + 2·x1 + x2 + x3
POL(java.lang.Object(x1)) = 1 + x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
NULL30760(o47598, o47597, o47596, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2))) → Load31061(o47598, o47597, java.lang.Object(Tree(o48058Field0, o48058Field1, o48058Field2)), o47596)
Load31061(o48434, o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), o51151, o51152)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33429(o48434, o48433, java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)), java.lang.Object(Tree(o53324Field0, o53324Field1, o53324Field2)))
Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55310, java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)), o55312))) → Load33429(o54782, o54781, java.lang.Object(Tree(o54780Field0, o54780Field1, o54780Field2)), java.lang.Object(Tree(o54775Field0, o54775Field1, o54775Field2)), java.lang.Object(Tree(o55746Field0, o55746Field1, o55746Field2)))
Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o58489, java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)), o58491))) → Load34715(o57810, o57809, o57806, java.lang.Object(Tree(o57803Field0, o57803Field1, o57803Field2)), java.lang.Object(Tree(o59132Field0, o59132Field1, o59132Field2)))
Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o58510, java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)), o58512))) → Load34789(o57854, o57851, java.lang.Object(Tree(java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), o57849, o57853)), java.lang.Object(Tree(o57848Field0, o57848Field1, o57848Field2)), java.lang.Object(Tree(o59183Field0, o59183Field1, o59183Field2)))
Load31061(java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2))) → Load33525(o48433, java.lang.Object(Tree(java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), o51156, o51157)), java.lang.Object(Tree(o49287Field0, o49287Field1, o49287Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)), java.lang.Object(Tree(o53341Field0, o53341Field1, o53341Field2)))
Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55395, java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)), o55397))) → Load33525(o54852, java.lang.Object(Tree(java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), o54847, o54850)), java.lang.Object(Tree(o54851Field0, o54851Field1, o54851Field2)), java.lang.Object(Tree(o54846Field0, o54846Field1, o54846Field2)), java.lang.Object(Tree(o55824Field0, o55824Field1, o55824Field2)))
(13) Obligation:
Q restricted rewrite system:
R is empty.
The set Q consists of the following terms:
Load30394(x0, x1, x2, x3)
NULL30760(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31061(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x7, x8, x9)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, x11)), x12)))
Load33429(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, NULL, x9)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, NULL, x10)))
Load31061(java.lang.Object(Tree(NULL, x0, x1)), x2, java.lang.Object(Tree(NULL, x0, x1)), java.lang.Object(Tree(x3, x4, x5)))
Load32946(x0, x1, x2, java.lang.Object(Tree(java.lang.Object(Tree(x3, x4, x5)), x6, x7)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, x8)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load34715(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, NULL, x7)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, NULL, x8)))
JMP33894(x0, x1, x2, x3)
Load32946(x0, x1, x2, java.lang.Object(Tree(NULL, x3, x4)))
Load31061(x0, x1, java.lang.Object(Tree(NULL, x2, x3)), java.lang.Object(Tree(NULL, x4, x5)))
Load34789(x0, x1, java.lang.Object(Tree(java.lang.Object(Tree(x2, x3, x4)), x5, x6)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x7, java.lang.Object(Tree(x8, x9, x10)), x11)))
Load33525(x0, java.lang.Object(Tree(java.lang.Object(Tree(x1, x2, x3)), x4, x5)), java.lang.Object(Tree(x6, x7, x8)), java.lang.Object(Tree(x1, x2, x3)), java.lang.Object(Tree(x9, java.lang.Object(Tree(x10, x11, x12)), x13)))
(14) RisEmptyProof (EQUIVALENT transformation)
The TRS R is empty. Hence, termination is trivially proven.
(15) TRUE
(16) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC)))) →
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR1(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)))
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786))) →
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR2(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)))
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710))) →
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR3(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)))
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
NULL,
o66710))) →
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
NULL,
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR4(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC)))) →
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR5(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)))
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o66785,
o66786))) →
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR6(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC)))) →
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR7(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC)))) →
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR8(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc39895(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP39799(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load36680ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP39848(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load36680ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load36680ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load36680ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(17) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP39848(x1, x2, x3, x4, x5) → JMP39848(x1, x2, x3, x5)
Cond_Load36680ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR8(x1, x2, x3, x4, x6, x7)
Load36680ARR8(x1, x2, x3, x4, x5, x6) → Load36680ARR8(x1, x2, x3, x5, x6)
JMP39799(x1, x2, x3, x4, x5) → JMP39799(x1, x2, x3, x5)
Cond_Load36680ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR7(x1, x2, x3, x4, x6, x7)
Load36680ARR7(x1, x2, x3, x4, x5, x6) → Load36680ARR7(x1, x2, x3, x5, x6)
Inc39895(x1, x2, x3, x4, x5) → Inc39895(x1, x2, x3, x5)
Cond_Load36680ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR5(x1, x2, x3, x4, x6, x7)
Load36680ARR5(x1, x2, x3, x4, x5, x6) → Load36680ARR5(x1, x2, x3, x5, x6)
Cond_Load36680ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR1(x1, x2, x3, x4, x6, x7)
Load36680ARR1(x1, x2, x3, x4, x5, x6) → Load36680ARR1(x1, x2, x3, x5, x6)
(18) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC)))) →
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR1(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67011Field0,
o67011Field1,
o67011Field2)))
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786))) →
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR2(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67516Field0,
o67516Field1,
o67516Field2)))
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710))) →
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR3(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67335Field0,
o67335Field1,
o67335Field2)))
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
NULL,
o66710))) →
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
NULL,
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR4(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o66708,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66710)),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC)))) →
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR5(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o67195Field0,
o67195Field1,
o67195Field2)))
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC)))) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o66785,
o66786))) →
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR6(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o66785,
o66786)),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
o63685,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC)))) →
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR7(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776)))
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i20433,
i20435,
a47776))) →
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
o63684,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC)))) →
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
NULL,
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR8(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o63685,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc39895(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP39799(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load36680ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP39848(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load36680ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load36680ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load36680ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(19) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load36680(x1, x2, x3, x4, x5) → Load36680(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load36680ARR1(x1, x2, x3, x4, x5) → Load36680ARR1(x1, x2, x3)
Cond_Load36680ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load36680ARR1(x1, x2, x3, x4)
Inc38465(x1, x2, x3, x4, x5) → Inc38465(x1, x2, x3)
JMP38544(x1, x2, x3, x4, x5) → JMP38544(x1, x2, x3)
Load36680ARR2(x1, x2, x3, x4, x5, x6) → Load36680ARR2(x1, x2, x3, x6)
Cond_Load36680ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR2(x1, x2, x3, x4, x7)
Load36680ARR3(x1, x2, x3, x4, x5, x6) → Load36680ARR3(x1, x2, x3)
Cond_Load36680ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR3(x1, x2, x3, x4)
Inc39895(x1, x2, x3, x4) → Inc39895(x1, x2, x3)
JMP39799(x1, x2, x3, x4) → JMP39799(x1, x2, x3)
Load36680ARR4(x1, x2, x3, x4, x5, x6) → Load36680ARR4(x1, x2, x3)
Cond_Load36680ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR4(x1, x2, x3, x4)
Load36680ARR5(x1, x2, x3, x4, x5) → Load36680ARR5(x1, x2, x3, x5)
Cond_Load36680ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load36680ARR5(x1, x2, x3, x4, x6)
JMP39848(x1, x2, x3, x4) → JMP39848(x1, x2, x3)
Load36680ARR6(x1, x2, x3, x4, x5, x6) → Load36680ARR6(x1, x2, x3, x6)
Cond_Load36680ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR6(x1, x2, x3, x4, x7)
Load36680ARR7(x1, x2, x3, x4, x5) → Load36680ARR7(x1, x2, x3)
Cond_Load36680ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load36680ARR7(x1, x2, x3, x4)
Load36680ARR8(x1, x2, x3, x4, x5) → Load36680ARR8(x1, x2, x3, x5)
Cond_Load36680ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load36680ARR8(x1, x2, x3, x4, x6)
(20) Obligation:
ITRS problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The TRS R consists of the following rules:
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR1(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR2(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR3(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1)
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1)
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR4(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR4(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR5(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR6(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR6(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc39895(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR7(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR7(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
JMP39799(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR8(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR8(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP39848(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc39895(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP39799(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR4(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR4(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP39848(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR6(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR6(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load36680ARR7(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR7(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR8(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR8(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(21) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load36680ARR1, Load36680ARR7 | > | Load36680ARR1_3 |
Load36680ARR3, Load36680ARR4 | > | Load36680ARR3_3 |
Cond_Load36680ARR1, Cond_Load36680ARR7 | > | Cond_Load36680ARR1_4 |
JMP38544, JMP39848 | > | JMP38544_3 |
Load36680ARR2, Load36680ARR6 | > | Load36680ARR2_4 |
Load36680ARR5, Load36680ARR8 | > | Load36680ARR5_4 |
Cond_Load36680ARR5, Cond_Load36680ARR8 | > | Cond_Load36680ARR5_5 |
Cond_Load36680ARR2, Cond_Load36680ARR6 | > | Cond_Load36680ARR2_5 |
Inc38465, Inc39895, JMP39799 | > | Inc38465_3 |
Cond_Load36680ARR3, Cond_Load36680ARR4 | > | Cond_Load36680ARR3_4 |
(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:
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR1(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR2(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR3(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR5(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(23) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(24) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
The ITRS R consists of the following rules:
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR1(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR2(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
Inc38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Load36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Cond_Load36680ARR3(
i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965 + -1)
Load36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Load36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
Cond_Load36680ARR5(
i20728 > 0 && i19951 > 0 && i19951 < i2 && i19965 > 0 && i19951 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951 + 1,
i19965)
The integer pair graph contains the following rules and edges:
(0):
LOAD36680(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0]) →
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0])
(1):
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1]) →
COND_LOAD36680ARR1(
i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1])
(2):
COND_LOAD36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2],
i19965[2]) →
INC38465(
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2] + 1,
i19965[2])
(3):
JMP38544'(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3]) →
INC38465(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3])
(4):
LOAD36680(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4]) →
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4],
java.lang.Object(
java.lang.String(
i20728[4],
i20433[4],
i20435[4],
a47776[4])))
(5):
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5]))) →
COND_LOAD36680ARR2(
i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5])))
(6):
COND_LOAD36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6],
i19965[6],
java.lang.Object(
java.lang.String(
i20728[6],
i20433[6],
i20435[6],
a47776[6]))) →
INC38465(
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6] + 1,
i19965[6])
(7):
INC38465(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7] + -1)
(8):
LOAD36680(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8]) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8])
(9):
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9]) →
COND_LOAD36680ARR3(
i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9])
(10):
COND_LOAD36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10],
i19965[10]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10] + 1,
i19965[10] + -1)
(11):
LOAD36680(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11]) →
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11],
java.lang.Object(
java.lang.String(
i20728[11],
i20433[11],
i20435[11],
a47776[11])))
(12):
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12]))) →
COND_LOAD36680ARR5(
i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12])))
(13):
COND_LOAD36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13],
i19965[13],
java.lang.Object(
java.lang.String(
i20728[13],
i20433[13],
i20435[13],
a47776[13]))) →
JMP38544'(
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13] + 1,
i19965[13])
(0) -> (1), if ((i19965[0] →* i19965[1])∧(java.lang.Object(ARRAY(i2[0], a46901data[0])) →* java.lang.Object(ARRAY(i2[1], a46901data[1])))∧(i19951[0] →* i19951[1]))
(1) -> (2), if ((i19951[1] →* i19951[2])∧(i19965[1] →* i19965[2])∧(i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[1], a46901data[1])) →* java.lang.Object(ARRAY(i2[2], a46901data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a46901data[2])) →* java.lang.Object(ARRAY(i2[7], a46901data[7])))∧(i19965[2] →* i19965[7])∧(i19951[2] + 1 →* i20183[7]))
(3) -> (7), if ((i20183[3] →* i20183[7])∧(i19965[3] →* i19965[7])∧(java.lang.Object(ARRAY(i2[3], a46901data[3])) →* java.lang.Object(ARRAY(i2[7], a46901data[7]))))
(4) -> (5), if ((java.lang.Object(ARRAY(i2[4], a46901data[4])) →* java.lang.Object(ARRAY(i2[5], a46901data[5])))∧(i19965[4] →* i19965[5])∧(i19951[4] →* i19951[5])∧(java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])) →* java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))))
(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a46901data[5])) →* java.lang.Object(ARRAY(i2[6], a46901data[6])))∧(i19965[5] →* i19965[6])∧(i19951[5] →* i19951[6])∧(i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])) →* java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6]))))
(6) -> (7), if ((i19951[6] + 1 →* i20183[7])∧(i19965[6] →* i19965[7])∧(java.lang.Object(ARRAY(i2[6], a46901data[6])) →* java.lang.Object(ARRAY(i2[7], a46901data[7]))))
(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[0], a46901data[0])))∧(i20183[7] →* i19951[0])∧(i19965[7] + -1 →* i19965[0]))
(7) -> (4), if ((i19965[7] + -1 →* i19965[4])∧(i20183[7] →* i19951[4])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[4], a46901data[4]))))
(7) -> (8), if ((i19965[7] + -1 →* i19965[8])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[8], a46901data[8])))∧(i20183[7] →* i19951[8]))
(7) -> (11), if ((i19965[7] + -1 →* i19965[11])∧(i20183[7] →* i19951[11])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[11], a46901data[11]))))
(8) -> (9), if ((i19965[8] →* i19965[9])∧(i19951[8] →* i19951[9])∧(java.lang.Object(ARRAY(i2[8], a46901data[8])) →* java.lang.Object(ARRAY(i2[9], a46901data[9]))))
(9) -> (10), if ((i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0 →* TRUE)∧(i19951[9] →* i19951[10])∧(java.lang.Object(ARRAY(i2[9], a46901data[9])) →* java.lang.Object(ARRAY(i2[10], a46901data[10])))∧(i19965[9] →* i19965[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[0], a46901data[0])))∧(i19951[10] + 1 →* i19951[0])∧(i19965[10] + -1 →* i19965[0]))
(10) -> (4), if ((i19965[10] + -1 →* i19965[4])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[4], a46901data[4])))∧(i19951[10] + 1 →* i19951[4]))
(10) -> (8), if ((i19951[10] + 1 →* i19951[8])∧(i19965[10] + -1 →* i19965[8])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[8], a46901data[8]))))
(10) -> (11), if ((i19965[10] + -1 →* i19965[11])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[11], a46901data[11])))∧(i19951[10] + 1 →* i19951[11]))
(11) -> (12), if ((i19965[11] →* i19965[12])∧(java.lang.Object(ARRAY(i2[11], a46901data[11])) →* java.lang.Object(ARRAY(i2[12], a46901data[12])))∧(i19951[11] →* i19951[12])∧(java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])) →* java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))))
(12) -> (13), if ((i19965[12] →* i19965[13])∧(java.lang.Object(ARRAY(i2[12], a46901data[12])) →* java.lang.Object(ARRAY(i2[13], a46901data[13])))∧(i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])) →* java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13])))∧(i19951[12] →* i19951[13]))
(13) -> (3), if ((i19951[13] + 1 →* i20183[3])∧(java.lang.Object(ARRAY(i2[13], a46901data[13])) →* java.lang.Object(ARRAY(i2[3], a46901data[3])))∧(i19965[13] →* i19965[3]))
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(25) 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.
(26) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36680(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0]) →
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0])
(1):
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1]) →
COND_LOAD36680ARR1(
i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1])
(2):
COND_LOAD36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2],
i19965[2]) →
INC38465(
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2] + 1,
i19965[2])
(3):
JMP38544'(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3]) →
INC38465(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3])
(4):
LOAD36680(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4]) →
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4],
java.lang.Object(
java.lang.String(
i20728[4],
i20433[4],
i20435[4],
a47776[4])))
(5):
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5]))) →
COND_LOAD36680ARR2(
i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5])))
(6):
COND_LOAD36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6],
i19965[6],
java.lang.Object(
java.lang.String(
i20728[6],
i20433[6],
i20435[6],
a47776[6]))) →
INC38465(
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6] + 1,
i19965[6])
(7):
INC38465(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7] + -1)
(8):
LOAD36680(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8]) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8])
(9):
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9]) →
COND_LOAD36680ARR3(
i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9])
(10):
COND_LOAD36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10],
i19965[10]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10] + 1,
i19965[10] + -1)
(11):
LOAD36680(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11]) →
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11],
java.lang.Object(
java.lang.String(
i20728[11],
i20433[11],
i20435[11],
a47776[11])))
(12):
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12]))) →
COND_LOAD36680ARR5(
i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12])))
(13):
COND_LOAD36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13],
i19965[13],
java.lang.Object(
java.lang.String(
i20728[13],
i20433[13],
i20435[13],
a47776[13]))) →
JMP38544'(
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13] + 1,
i19965[13])
(0) -> (1), if ((i19965[0] →* i19965[1])∧(java.lang.Object(ARRAY(i2[0], a46901data[0])) →* java.lang.Object(ARRAY(i2[1], a46901data[1])))∧(i19951[0] →* i19951[1]))
(1) -> (2), if ((i19951[1] →* i19951[2])∧(i19965[1] →* i19965[2])∧(i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0 →* TRUE)∧(java.lang.Object(ARRAY(i2[1], a46901data[1])) →* java.lang.Object(ARRAY(i2[2], a46901data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a46901data[2])) →* java.lang.Object(ARRAY(i2[7], a46901data[7])))∧(i19965[2] →* i19965[7])∧(i19951[2] + 1 →* i20183[7]))
(3) -> (7), if ((i20183[3] →* i20183[7])∧(i19965[3] →* i19965[7])∧(java.lang.Object(ARRAY(i2[3], a46901data[3])) →* java.lang.Object(ARRAY(i2[7], a46901data[7]))))
(4) -> (5), if ((java.lang.Object(ARRAY(i2[4], a46901data[4])) →* java.lang.Object(ARRAY(i2[5], a46901data[5])))∧(i19965[4] →* i19965[5])∧(i19951[4] →* i19951[5])∧(java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])) →* java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))))
(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a46901data[5])) →* java.lang.Object(ARRAY(i2[6], a46901data[6])))∧(i19965[5] →* i19965[6])∧(i19951[5] →* i19951[6])∧(i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])) →* java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6]))))
(6) -> (7), if ((i19951[6] + 1 →* i20183[7])∧(i19965[6] →* i19965[7])∧(java.lang.Object(ARRAY(i2[6], a46901data[6])) →* java.lang.Object(ARRAY(i2[7], a46901data[7]))))
(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[0], a46901data[0])))∧(i20183[7] →* i19951[0])∧(i19965[7] + -1 →* i19965[0]))
(7) -> (4), if ((i19965[7] + -1 →* i19965[4])∧(i20183[7] →* i19951[4])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[4], a46901data[4]))))
(7) -> (8), if ((i19965[7] + -1 →* i19965[8])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[8], a46901data[8])))∧(i20183[7] →* i19951[8]))
(7) -> (11), if ((i19965[7] + -1 →* i19965[11])∧(i20183[7] →* i19951[11])∧(java.lang.Object(ARRAY(i2[7], a46901data[7])) →* java.lang.Object(ARRAY(i2[11], a46901data[11]))))
(8) -> (9), if ((i19965[8] →* i19965[9])∧(i19951[8] →* i19951[9])∧(java.lang.Object(ARRAY(i2[8], a46901data[8])) →* java.lang.Object(ARRAY(i2[9], a46901data[9]))))
(9) -> (10), if ((i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0 →* TRUE)∧(i19951[9] →* i19951[10])∧(java.lang.Object(ARRAY(i2[9], a46901data[9])) →* java.lang.Object(ARRAY(i2[10], a46901data[10])))∧(i19965[9] →* i19965[10]))
(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[0], a46901data[0])))∧(i19951[10] + 1 →* i19951[0])∧(i19965[10] + -1 →* i19965[0]))
(10) -> (4), if ((i19965[10] + -1 →* i19965[4])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[4], a46901data[4])))∧(i19951[10] + 1 →* i19951[4]))
(10) -> (8), if ((i19951[10] + 1 →* i19951[8])∧(i19965[10] + -1 →* i19965[8])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[8], a46901data[8]))))
(10) -> (11), if ((i19965[10] + -1 →* i19965[11])∧(java.lang.Object(ARRAY(i2[10], a46901data[10])) →* java.lang.Object(ARRAY(i2[11], a46901data[11])))∧(i19951[10] + 1 →* i19951[11]))
(11) -> (12), if ((i19965[11] →* i19965[12])∧(java.lang.Object(ARRAY(i2[11], a46901data[11])) →* java.lang.Object(ARRAY(i2[12], a46901data[12])))∧(i19951[11] →* i19951[12])∧(java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])) →* java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))))
(12) -> (13), if ((i19965[12] →* i19965[13])∧(java.lang.Object(ARRAY(i2[12], a46901data[12])) →* java.lang.Object(ARRAY(i2[13], a46901data[13])))∧(i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0 →* TRUE)∧(java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])) →* java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13])))∧(i19951[12] →* i19951[13]))
(13) -> (3), if ((i19951[13] + 1 →* i20183[3])∧(java.lang.Object(ARRAY(i2[13], a46901data[13])) →* java.lang.Object(ARRAY(i2[3], a46901data[3])))∧(i19965[13] →* i19965[3]))
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(27) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(28) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Boolean, Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36680(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0]) →
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0])
(1):
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1]) →
COND_LOAD36680ARR1(
i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a46901data[1])),
i19951[1],
i19965[1])
(2):
COND_LOAD36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2],
i19965[2]) →
INC38465(
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2] + 1,
i19965[2])
(3):
JMP38544'(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3]) →
INC38465(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3])
(4):
LOAD36680(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4]) →
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4],
java.lang.Object(
java.lang.String(
i20728[4],
i20433[4],
i20435[4],
a47776[4])))
(5):
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5]))) →
COND_LOAD36680ARR2(
i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5])))
(6):
COND_LOAD36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6],
i19965[6],
java.lang.Object(
java.lang.String(
i20728[6],
i20433[6],
i20435[6],
a47776[6]))) →
INC38465(
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6] + 1,
i19965[6])
(7):
INC38465(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7] + -1)
(8):
LOAD36680(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8]) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8])
(9):
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9]) →
COND_LOAD36680ARR3(
i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a46901data[9])),
i19951[9],
i19965[9])
(10):
COND_LOAD36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10],
i19965[10]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10] + 1,
i19965[10] + -1)
(11):
LOAD36680(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11]) →
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11],
java.lang.Object(
java.lang.String(
i20728[11],
i20433[11],
i20435[11],
a47776[11])))
(12):
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12]))) →
COND_LOAD36680ARR5(
i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12])))
(13):
COND_LOAD36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13],
i19965[13],
java.lang.Object(
java.lang.String(
i20728[13],
i20433[13],
i20435[13],
a47776[13]))) →
JMP38544'(
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13] + 1,
i19965[13])
(0) -> (1), if ((i19965[0] →* i19965[1])∧((i2[0] →* i2[1])∧(a46901data[0] →* a46901data[1]))∧(i19951[0] →* i19951[1]))
(1) -> (2), if ((i19951[1] →* i19951[2])∧(i19965[1] →* i19965[2])∧(i19951[1] > 0 && i19951[1] < i2[1] && i19965[1] > 0 && i19951[1] + 1 > 0 →* TRUE)∧((i2[1] →* i2[2])∧(a46901data[1] →* a46901data[2])))
(2) -> (7), if (((i2[2] →* i2[7])∧(a46901data[2] →* a46901data[7]))∧(i19965[2] →* i19965[7])∧(i19951[2] + 1 →* i20183[7]))
(3) -> (7), if ((i20183[3] →* i20183[7])∧(i19965[3] →* i19965[7])∧((i2[3] →* i2[7])∧(a46901data[3] →* a46901data[7])))
(4) -> (5), if (((i2[4] →* i2[5])∧(a46901data[4] →* a46901data[5]))∧(i19965[4] →* i19965[5])∧(i19951[4] →* i19951[5])∧((i20728[4] →* i20728[5])∧(i20433[4] →* i20433[5])∧(i20435[4] →* i20435[5])∧(a47776[4] →* a47776[5])))
(5) -> (6), if (((i2[5] →* i2[6])∧(a46901data[5] →* a46901data[6]))∧(i19965[5] →* i19965[6])∧(i19951[5] →* i19951[6])∧(i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0 →* TRUE)∧((i20728[5] →* i20728[6])∧(i20433[5] →* i20433[6])∧(i20435[5] →* i20435[6])∧(a47776[5] →* a47776[6])))
(6) -> (7), if ((i19951[6] + 1 →* i20183[7])∧(i19965[6] →* i19965[7])∧((i2[6] →* i2[7])∧(a46901data[6] →* a46901data[7])))
(7) -> (0), if (((i2[7] →* i2[0])∧(a46901data[7] →* a46901data[0]))∧(i20183[7] →* i19951[0])∧(i19965[7] + -1 →* i19965[0]))
(7) -> (4), if ((i19965[7] + -1 →* i19965[4])∧(i20183[7] →* i19951[4])∧((i2[7] →* i2[4])∧(a46901data[7] →* a46901data[4])))
(7) -> (8), if ((i19965[7] + -1 →* i19965[8])∧((i2[7] →* i2[8])∧(a46901data[7] →* a46901data[8]))∧(i20183[7] →* i19951[8]))
(7) -> (11), if ((i19965[7] + -1 →* i19965[11])∧(i20183[7] →* i19951[11])∧((i2[7] →* i2[11])∧(a46901data[7] →* a46901data[11])))
(8) -> (9), if ((i19965[8] →* i19965[9])∧(i19951[8] →* i19951[9])∧((i2[8] →* i2[9])∧(a46901data[8] →* a46901data[9])))
(9) -> (10), if ((i19951[9] > 0 && i19951[9] < i2[9] && i19965[9] > 0 && i19951[9] + 1 > 0 →* TRUE)∧(i19951[9] →* i19951[10])∧((i2[9] →* i2[10])∧(a46901data[9] →* a46901data[10]))∧(i19965[9] →* i19965[10]))
(10) -> (0), if (((i2[10] →* i2[0])∧(a46901data[10] →* a46901data[0]))∧(i19951[10] + 1 →* i19951[0])∧(i19965[10] + -1 →* i19965[0]))
(10) -> (4), if ((i19965[10] + -1 →* i19965[4])∧((i2[10] →* i2[4])∧(a46901data[10] →* a46901data[4]))∧(i19951[10] + 1 →* i19951[4]))
(10) -> (8), if ((i19951[10] + 1 →* i19951[8])∧(i19965[10] + -1 →* i19965[8])∧((i2[10] →* i2[8])∧(a46901data[10] →* a46901data[8])))
(10) -> (11), if ((i19965[10] + -1 →* i19965[11])∧((i2[10] →* i2[11])∧(a46901data[10] →* a46901data[11]))∧(i19951[10] + 1 →* i19951[11]))
(11) -> (12), if ((i19965[11] →* i19965[12])∧((i2[11] →* i2[12])∧(a46901data[11] →* a46901data[12]))∧(i19951[11] →* i19951[12])∧((i20728[11] →* i20728[12])∧(i20433[11] →* i20433[12])∧(i20435[11] →* i20435[12])∧(a47776[11] →* a47776[12])))
(12) -> (13), if ((i19965[12] →* i19965[13])∧((i2[12] →* i2[13])∧(a46901data[12] →* a46901data[13]))∧(i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0 →* TRUE)∧((i20728[12] →* i20728[13])∧(i20433[12] →* i20433[13])∧(i20435[12] →* i20435[13])∧(a47776[12] →* a47776[13]))∧(i19951[12] →* i19951[13]))
(13) -> (3), if ((i19951[13] + 1 →* i20183[3])∧((i2[13] →* i2[3])∧(a46901data[13] →* a46901data[3]))∧(i19965[13] →* i19965[3]))
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(29) 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
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) the following chains were created:
- We consider the chain LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0]) → LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0]), LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]) → COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]) which results in the following constraint:
(1) (i19965[0]=i19965[1]∧i2[0]=i2[1]∧a46901data[0]=a46901data[1]∧i19951[0]=i19951[1] ⇒ LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])≥LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])∧(UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])≥LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])∧(UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
For Pair
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
COND_LOAD36680ARR1(
&&(
&&(
&&(
>(
i19951,
0),
<(
i19951,
i2)),
>(
i19965,
0)),
>(
+(
i19951,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) the following chains were created:
- We consider the chain LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]) → COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]), COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a46901data[2])), i19951[2], i19965[2]) → INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2]) which results in the following constraint:
(7) (i19951[1]=i19951[2]∧i19965[1]=i19965[2]∧&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0))=TRUE∧i2[1]=i2[2]∧a46901data[1]=a46901data[2] ⇒ LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])≥NonInfC∧LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])≥COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])∧(UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i19951[1], 1), 0)=TRUE∧>(i19965[1], 0)=TRUE∧>(i19951[1], 0)=TRUE∧<(i19951[1], i2[1])=TRUE ⇒ LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])≥NonInfC∧LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])≥COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])∧(UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i19951[1] ≥ 0∧i19965[1] + [-1] ≥ 0∧i19951[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i19951[1] ≥ 0∧i19965[1] + [-1] ≥ 0∧i19951[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i19951[1] ≥ 0∧i19965[1] + [-1] ≥ 0∧i19951[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i19951[1] ≥ 0∧i19965[1] + [-1] ≥ 0∧i19951[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i19951[1] ≥ 0∧i19965[1] + [-1] ≥ 0∧i19951[1] ≥ 0∧i2[1] + [-2] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i19951[1] ≥ 0∧i19965[1] ≥ 0∧i19951[1] ≥ 0∧i2[1] + [-2] + [-1]i19951[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] + [(-1)bni_26]i19951[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i19951[1] ≥ 0∧i19965[1] ≥ 0∧i19951[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
For Pair
COND_LOAD36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
INC38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
+(
i19951,
1),
i19965) the following chains were created:
- We consider the chain COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a46901data[2])), i19951[2], i19965[2]) → INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2]) which results in the following constraint:
(16) (COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a46901data[2])), i19951[2], i19965[2])≥NonInfC∧COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a46901data[2])), i19951[2], i19965[2])≥INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])∧(UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
For Pair
JMP38544'(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
INC38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) the following chains were created:
- We consider the chain JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3]) → INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3]), INC38465(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], i19965[7]) → LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1)) which results in the following constraint:
(21) (i20183[3]=i20183[7]∧i19965[3]=i19965[7]∧i2[3]=i2[7]∧a46901data[3]=a46901data[7] ⇒ JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])≥NonInfC∧JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])≥INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])∧(UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])≥NonInfC∧JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])≥INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])∧(UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
For Pair
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) the following chains were created:
- We consider the chain LOAD36680(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4]) → LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4]))) which results in the following constraint:
(27) (LOAD36680(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4])≥LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))∧(UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
For Pair
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
COND_LOAD36680ARR2(
&&(
&&(
&&(
&&(
>(
i20728,
0),
>(
i19951,
0)),
<(
i19951,
i2)),
>(
i19965,
0)),
>(
+(
i19951,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) the following chains were created:
- We consider the chain LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))) → COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))), COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a46901data[6])), i19951[6], i19965[6], java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6]))) → INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6]) which results in the following constraint:
(32) (i2[5]=i2[6]∧a46901data[5]=a46901data[6]∧i19965[5]=i19965[6]∧i19951[5]=i19951[6]∧&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0))=TRUE∧i20728[5]=i20728[6]∧i20433[5]=i20433[6]∧i20435[5]=i20435[6]∧a47776[5]=a47776[6] ⇒ LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))≥NonInfC∧LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))≥COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))∧(UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i19951[5], 1), 0)=TRUE∧>(i19965[5], 0)=TRUE∧<(i19951[5], i2[5])=TRUE∧>(i20728[5], 0)=TRUE∧>(i19951[5], 0)=TRUE ⇒ LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))≥NonInfC∧LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))≥COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))∧(UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i19951[5] ≥ 0∧i19965[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i19951[5] ≥ 0∧i19965[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i19951[5] ≥ 0∧i19965[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i19951[5] ≥ 0∧i19965[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i19951[5] ≥ 0∧i19965[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i19951[5] ≥ 0∧i19965[5] ≥ 0∧i2[5] + [-2] + [-1]i19951[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] + [(-1)bni_34]i19951[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i19951[5] ≥ 0∧i19965[5] ≥ 0∧i2[5] ≥ 0∧i20728[5] + [-1] ≥ 0∧i19951[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i19951[5] ≥ 0∧i19965[5] ≥ 0∧i2[5] ≥ 0∧i20728[5] ≥ 0∧i19951[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
COND_LOAD36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
INC38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
+(
i19951,
1),
i19965) the following chains were created:
- We consider the chain COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a46901data[6])), i19951[6], i19965[6], java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6]))) → INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6]) which results in the following constraint:
(42) (COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a46901data[6])), i19951[6], i19965[6], java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6])))≥NonInfC∧COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a46901data[6])), i19951[6], i19965[6], java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6])))≥INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])∧(UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
For Pair
INC38465(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
i19965) →
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i20183,
+(
i19965,
-1)) the following chains were created:
- We consider the chain INC38465(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], i19965[7]) → LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1)) which results in the following constraint:
(47) (INC38465(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], i19965[7])≥NonInfC∧INC38465(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], i19965[7])≥LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))∧(UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) the following chains were created:
- We consider the chain LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8]) → LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8]), LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]) → COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]) which results in the following constraint:
(52) (i19965[8]=i19965[9]∧i19951[8]=i19951[9]∧i2[8]=i2[9]∧a46901data[8]=a46901data[9] ⇒ LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])≥LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])∧(UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])≥LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])∧(UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
COND_LOAD36680ARR3(
&&(
&&(
&&(
>(
i19951,
0),
<(
i19951,
i2)),
>(
i19965,
0)),
>(
+(
i19951,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) the following chains were created:
- We consider the chain LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]) → COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]), COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a46901data[10])), i19951[10], i19965[10]) → LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1)) which results in the following constraint:
(58) (&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0))=TRUE∧i19951[9]=i19951[10]∧i2[9]=i2[10]∧a46901data[9]=a46901data[10]∧i19965[9]=i19965[10] ⇒ LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])≥NonInfC∧LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])≥COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])∧(UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i19951[9], 1), 0)=TRUE∧>(i19965[9], 0)=TRUE∧>(i19951[9], 0)=TRUE∧<(i19951[9], i2[9])=TRUE ⇒ LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])≥NonInfC∧LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])≥COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])∧(UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i19951[9] ≥ 0∧i19965[9] + [-1] ≥ 0∧i19951[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i19951[9] ≥ 0∧i19965[9] + [-1] ≥ 0∧i19951[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i19951[9] ≥ 0∧i19965[9] + [-1] ≥ 0∧i19951[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i19951[9] ≥ 0∧i19965[9] + [-1] ≥ 0∧i19951[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i19951[9] ≥ 0∧i19965[9] + [-1] ≥ 0∧i19951[9] ≥ 0∧i2[9] + [-2] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i19951[9] ≥ 0∧i19965[9] ≥ 0∧i19951[9] ≥ 0∧i2[9] + [-2] + [-1]i19951[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [(-1)bni_42]i19951[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i19951[9] ≥ 0∧i19965[9] ≥ 0∧i19951[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
For Pair
COND_LOAD36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
+(
i19951,
1),
+(
i19965,
-1)) the following chains were created:
- We consider the chain COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a46901data[10])), i19951[10], i19965[10]) → LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1)) which results in the following constraint:
(67) (COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a46901data[10])), i19951[10], i19965[10])≥NonInfC∧COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a46901data[10])), i19951[10], i19965[10])≥LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))∧(UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
For Pair
LOAD36680(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965) →
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) the following chains were created:
- We consider the chain LOAD36680(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11]) → LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11]))) which results in the following constraint:
(72) (LOAD36680(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11])≥NonInfC∧LOAD36680(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11])≥LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))∧(UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
For Pair
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
COND_LOAD36680ARR5(
&&(
&&(
&&(
&&(
>(
i20728,
0),
>(
i19951,
0)),
<(
i19951,
i2)),
>(
i19965,
0)),
>(
+(
i19951,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) the following chains were created:
- We consider the chain LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))) → COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))), COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a46901data[13])), i19951[13], i19965[13], java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13]))) → JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13]) which results in the following constraint:
(77) (i19965[12]=i19965[13]∧i2[12]=i2[13]∧a46901data[12]=a46901data[13]∧&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0))=TRUE∧i20728[12]=i20728[13]∧i20433[12]=i20433[13]∧i20435[12]=i20435[13]∧a47776[12]=a47776[13]∧i19951[12]=i19951[13] ⇒ LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))≥NonInfC∧LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))≥COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))∧(UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i19951[12], 1), 0)=TRUE∧>(i19965[12], 0)=TRUE∧<(i19951[12], i2[12])=TRUE∧>(i20728[12], 0)=TRUE∧>(i19951[12], 0)=TRUE ⇒ LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))≥NonInfC∧LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))≥COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))∧(UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i19951[12] ≥ 0∧i19965[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i19951[12] ≥ 0∧i19965[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i19951[12] ≥ 0∧i19965[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i19951[12] ≥ 0∧i19965[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i19951[12] ≥ 0∧i19965[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i19951[12] ≥ 0∧i19965[12] ≥ 0∧i2[12] + [-2] + [-1]i19951[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i19965[12] + [(-1)bni_48]i19951[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i19951[12] ≥ 0∧i19965[12] ≥ 0∧i2[12] ≥ 0∧i20728[12] + [-1] ≥ 0∧i19951[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i19965[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i19951[12] ≥ 0∧i19965[12] ≥ 0∧i2[12] ≥ 0∧i20728[12] ≥ 0∧i19951[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i19965[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2,
a46901data)),
i19951,
i19965,
java.lang.Object(
java.lang.String(
i20728,
i20433,
i20435,
a47776))) →
JMP38544'(
java.lang.Object(
ARRAY(
i2,
a46901data)),
+(
i19951,
1),
i19965) the following chains were created:
- We consider the chain COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a46901data[13])), i19951[13], i19965[13], java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13]))) → JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13]) which results in the following constraint:
(87) (COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a46901data[13])), i19951[13], i19965[13], java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13])))≥NonInfC∧COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a46901data[13])), i19951[13], i19965[13], java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13])))≥JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])∧(UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → LOAD36680ARR1(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965)
- ((UIncreasing(LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
- LOAD36680ARR1(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → COND_LOAD36680ARR1(&&(&&(&&(>(i19951, 0), <(i19951, i2)), >(i19965, 0)), >(+(i19951, 1), 0)), java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965)
- ([1] + i19951[1] ≥ 0∧i19965[1] ≥ 0∧i19951[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i19965[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
- COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → INC38465(java.lang.Object(ARRAY(i2, a46901data)), +(i19951, 1), i19965)
- ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
- JMP38544'(java.lang.Object(ARRAY(i2, a46901data)), i20183, i19965) → INC38465(java.lang.Object(ARRAY(i2, a46901data)), i20183, i19965)
- ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
- LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → LOAD36680ARR2(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776)))
- ((UIncreasing(LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
- LOAD36680ARR2(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776))) → COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728, 0), >(i19951, 0)), <(i19951, i2)), >(i19965, 0)), >(+(i19951, 1), 0)), java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776)))
- ([1] + i19951[5] ≥ 0∧i19965[5] ≥ 0∧i2[5] ≥ 0∧i20728[5] ≥ 0∧i19951[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i19965[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776))) → INC38465(java.lang.Object(ARRAY(i2, a46901data)), +(i19951, 1), i19965)
- ((UIncreasing(INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
- INC38465(java.lang.Object(ARRAY(i2, a46901data)), i20183, i19965) → LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), i20183, +(i19965, -1))
- ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → LOAD36680ARR3(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965)
- ((UIncreasing(LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- LOAD36680ARR3(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → COND_LOAD36680ARR3(&&(&&(&&(>(i19951, 0), <(i19951, i2)), >(i19965, 0)), >(+(i19951, 1), 0)), java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965)
- ([1] + i19951[9] ≥ 0∧i19965[9] ≥ 0∧i19951[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i19965[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
- COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), +(i19951, 1), +(i19965, -1))
- ((UIncreasing(LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
- LOAD36680(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965) → LOAD36680ARR5(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776)))
- ((UIncreasing(LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
- LOAD36680ARR5(java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776))) → COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728, 0), >(i19951, 0)), <(i19951, i2)), >(i19965, 0)), >(+(i19951, 1), 0)), java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776)))
- ([1] + i19951[12] ≥ 0∧i19965[12] ≥ 0∧i2[12] ≥ 0∧i20728[12] ≥ 0∧i19951[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i19965[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2, a46901data)), i19951, i19965, java.lang.Object(java.lang.String(i20728, i20433, i20435, a47776))) → JMP38544'(java.lang.Object(ARRAY(i2, a46901data)), +(i19951, 1), i19965)
- ((UIncreasing(JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 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(LOAD36680(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD36680ARR1(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2
POL(COND_LOAD36680ARR1(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC38465(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(JMP38544'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD36680ARR2(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1
POL(COND_LOAD36680ARR2(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD36680ARR3(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD36680ARR3(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD36680ARR5(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD36680ARR5(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD36680(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0]) → LOAD36680ARR1(java.lang.Object(ARRAY(i2[0], a46901data[0])), i19951[0], i19965[0])
LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]) → COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])
COND_LOAD36680ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a46901data[2])), i19951[2], i19965[2]) → INC38465(java.lang.Object(ARRAY(i2[2], a46901data[2])), +(i19951[2], 1), i19965[2])
LOAD36680(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4]) → LOAD36680ARR2(java.lang.Object(ARRAY(i2[4], a46901data[4])), i19951[4], i19965[4], java.lang.Object(java.lang.String(i20728[4], i20433[4], i20435[4], a47776[4])))
COND_LOAD36680ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a46901data[6])), i19951[6], i19965[6], java.lang.Object(java.lang.String(i20728[6], i20433[6], i20435[6], a47776[6]))) → INC38465(java.lang.Object(ARRAY(i2[6], a46901data[6])), +(i19951[6], 1), i19965[6])
LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]) → COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])
COND_LOAD36680ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a46901data[10])), i19951[10], i19965[10]) → LOAD36680(java.lang.Object(ARRAY(i2[10], a46901data[10])), +(i19951[10], 1), +(i19965[10], -1))
LOAD36680(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11]) → LOAD36680ARR5(java.lang.Object(ARRAY(i2[11], a46901data[11])), i19951[11], i19965[11], java.lang.Object(java.lang.String(i20728[11], i20433[11], i20435[11], a47776[11])))
COND_LOAD36680ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a46901data[13])), i19951[13], i19965[13], java.lang.Object(java.lang.String(i20728[13], i20433[13], i20435[13], a47776[13]))) → JMP38544'(java.lang.Object(ARRAY(i2[13], a46901data[13])), +(i19951[13], 1), i19965[13])
The following pairs are in P
bound:
LOAD36680ARR1(java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1]) → COND_LOAD36680ARR1(&&(&&(&&(>(i19951[1], 0), <(i19951[1], i2[1])), >(i19965[1], 0)), >(+(i19951[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a46901data[1])), i19951[1], i19965[1])
LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))) → COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))
LOAD36680ARR3(java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9]) → COND_LOAD36680ARR3(&&(&&(&&(>(i19951[9], 0), <(i19951[9], i2[9])), >(i19965[9], 0)), >(+(i19951[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a46901data[9])), i19951[9], i19965[9])
LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))) → COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))
The following pairs are in P
≥:
JMP38544'(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3]) → INC38465(java.lang.Object(ARRAY(i2[3], a46901data[3])), i20183[3], i19965[3])
LOAD36680ARR2(java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5]))) → COND_LOAD36680ARR2(&&(&&(&&(&&(>(i20728[5], 0), >(i19951[5], 0)), <(i19951[5], i2[5])), >(i19965[5], 0)), >(+(i19951[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a46901data[5])), i19951[5], i19965[5], java.lang.Object(java.lang.String(i20728[5], i20433[5], i20435[5], a47776[5])))
INC38465(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], i19965[7]) → LOAD36680(java.lang.Object(ARRAY(i2[7], a46901data[7])), i20183[7], +(i19965[7], -1))
LOAD36680(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8]) → LOAD36680ARR3(java.lang.Object(ARRAY(i2[8], a46901data[8])), i19951[8], i19965[8])
LOAD36680ARR5(java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12]))) → COND_LOAD36680ARR5(&&(&&(&&(&&(>(i20728[12], 0), >(i19951[12], 0)), <(i19951[12], i2[12])), >(i19965[12], 0)), >(+(i19951[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a46901data[12])), i19951[12], i19965[12], java.lang.Object(java.lang.String(i20728[12], i20433[12], i20435[12], a47776[12])))
There are no usable rules.
(30) Complex Obligation (AND)
(31) 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:
(3):
JMP38544'(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3]) →
INC38465(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3])
(5):
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5]))) →
COND_LOAD36680ARR2(
i20728[5] > 0 && i19951[5] > 0 && i19951[5] < i2[5] && i19965[5] > 0 && i19951[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a46901data[5])),
i19951[5],
i19965[5],
java.lang.Object(
java.lang.String(
i20728[5],
i20433[5],
i20435[5],
a47776[5])))
(7):
INC38465(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7] + -1)
(8):
LOAD36680(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8]) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8])
(12):
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12]))) →
COND_LOAD36680ARR5(
i20728[12] > 0 && i19951[12] > 0 && i19951[12] < i2[12] && i19965[12] > 0 && i19951[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a46901data[12])),
i19951[12],
i19965[12],
java.lang.Object(
java.lang.String(
i20728[12],
i20433[12],
i20435[12],
a47776[12])))
(3) -> (7), if ((i20183[3] →* i20183[7])∧(i19965[3] →* i19965[7])∧((i2[3] →* i2[7])∧(a46901data[3] →* a46901data[7])))
(7) -> (8), if ((i19965[7] + -1 →* i19965[8])∧((i2[7] →* i2[8])∧(a46901data[7] →* a46901data[8]))∧(i20183[7] →* i19951[8]))
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(32) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.
(33) TRUE
(34) Obligation:
IDP problem:
The following function symbols are pre-defined:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
| ~ | Bwxor: (Integer, Integer) -> Integer |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
The following domains are used:
Integer
R is empty.
The integer pair graph contains the following rules and edges:
(0):
LOAD36680(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0]) →
LOAD36680ARR1(
java.lang.Object(
ARRAY(
i2[0],
a46901data[0])),
i19951[0],
i19965[0])
(2):
COND_LOAD36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2],
i19965[2]) →
INC38465(
java.lang.Object(
ARRAY(
i2[2],
a46901data[2])),
i19951[2] + 1,
i19965[2])
(3):
JMP38544'(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3]) →
INC38465(
java.lang.Object(
ARRAY(
i2[3],
a46901data[3])),
i20183[3],
i19965[3])
(4):
LOAD36680(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4]) →
LOAD36680ARR2(
java.lang.Object(
ARRAY(
i2[4],
a46901data[4])),
i19951[4],
i19965[4],
java.lang.Object(
java.lang.String(
i20728[4],
i20433[4],
i20435[4],
a47776[4])))
(6):
COND_LOAD36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6],
i19965[6],
java.lang.Object(
java.lang.String(
i20728[6],
i20433[6],
i20435[6],
a47776[6]))) →
INC38465(
java.lang.Object(
ARRAY(
i2[6],
a46901data[6])),
i19951[6] + 1,
i19965[6])
(7):
INC38465(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[7],
a46901data[7])),
i20183[7],
i19965[7] + -1)
(8):
LOAD36680(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8]) →
LOAD36680ARR3(
java.lang.Object(
ARRAY(
i2[8],
a46901data[8])),
i19951[8],
i19965[8])
(10):
COND_LOAD36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10],
i19965[10]) →
LOAD36680(
java.lang.Object(
ARRAY(
i2[10],
a46901data[10])),
i19951[10] + 1,
i19965[10] + -1)
(11):
LOAD36680(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11]) →
LOAD36680ARR5(
java.lang.Object(
ARRAY(
i2[11],
a46901data[11])),
i19951[11],
i19965[11],
java.lang.Object(
java.lang.String(
i20728[11],
i20433[11],
i20435[11],
a47776[11])))
(13):
COND_LOAD36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13],
i19965[13],
java.lang.Object(
java.lang.String(
i20728[13],
i20433[13],
i20435[13],
a47776[13]))) →
JMP38544'(
java.lang.Object(
ARRAY(
i2[13],
a46901data[13])),
i19951[13] + 1,
i19965[13])
(7) -> (0), if (((i2[7] →* i2[0])∧(a46901data[7] →* a46901data[0]))∧(i20183[7] →* i19951[0])∧(i19965[7] + -1 →* i19965[0]))
(10) -> (0), if (((i2[10] →* i2[0])∧(a46901data[10] →* a46901data[0]))∧(i19951[10] + 1 →* i19951[0])∧(i19965[10] + -1 →* i19965[0]))
(13) -> (3), if ((i19951[13] + 1 →* i20183[3])∧((i2[13] →* i2[3])∧(a46901data[13] →* a46901data[3]))∧(i19965[13] →* i19965[3]))
(7) -> (4), if ((i19965[7] + -1 →* i19965[4])∧(i20183[7] →* i19951[4])∧((i2[7] →* i2[4])∧(a46901data[7] →* a46901data[4])))
(10) -> (4), if ((i19965[10] + -1 →* i19965[4])∧((i2[10] →* i2[4])∧(a46901data[10] →* a46901data[4]))∧(i19951[10] + 1 →* i19951[4]))
(2) -> (7), if (((i2[2] →* i2[7])∧(a46901data[2] →* a46901data[7]))∧(i19965[2] →* i19965[7])∧(i19951[2] + 1 →* i20183[7]))
(3) -> (7), if ((i20183[3] →* i20183[7])∧(i19965[3] →* i19965[7])∧((i2[3] →* i2[7])∧(a46901data[3] →* a46901data[7])))
(6) -> (7), if ((i19951[6] + 1 →* i20183[7])∧(i19965[6] →* i19965[7])∧((i2[6] →* i2[7])∧(a46901data[6] →* a46901data[7])))
(7) -> (8), if ((i19965[7] + -1 →* i19965[8])∧((i2[7] →* i2[8])∧(a46901data[7] →* a46901data[8]))∧(i20183[7] →* i19951[8]))
(10) -> (8), if ((i19951[10] + 1 →* i19951[8])∧(i19965[10] + -1 →* i19965[8])∧((i2[10] →* i2[8])∧(a46901data[10] →* a46901data[8])))
(7) -> (11), if ((i19965[7] + -1 →* i19965[11])∧(i20183[7] →* i19951[11])∧((i2[7] →* i2[11])∧(a46901data[7] →* a46901data[11])))
(10) -> (11), if ((i19965[10] + -1 →* i19965[11])∧((i2[10] →* i2[11])∧(a46901data[10] →* a46901data[11]))∧(i19951[10] + 1 →* i19951[11]))
The set Q consists of the following terms:
Load36680(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR1(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR1(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP38544(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR2(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR2(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc38465(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR3(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load36680ARR3(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load36680ARR5(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load36680ARR5(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(35) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(36) TRUE
(37) 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:
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC)))) →
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR9(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)))
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528))) →
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR10(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)))
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488))) →
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR11(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)))
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
NULL,
o25488))) →
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
NULL,
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR12(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC)))) →
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR13(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)))
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25527,
o25528))) →
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR14(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC)))) →
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR15(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC)))) →
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR16(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc26153(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP26046(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load18470ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP26084(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load18470ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load18470ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load18470ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(38) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP26084(x1, x2, x3, x4, x5) → JMP26084(x1, x2, x3, x5)
Cond_Load18470ARR16(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR16(x1, x2, x3, x4, x6, x7)
Load18470ARR16(x1, x2, x3, x4, x5, x6) → Load18470ARR16(x1, x2, x3, x5, x6)
JMP26046(x1, x2, x3, x4, x5) → JMP26046(x1, x2, x3, x5)
Cond_Load18470ARR15(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR15(x1, x2, x3, x4, x6, x7)
Load18470ARR15(x1, x2, x3, x4, x5, x6) → Load18470ARR15(x1, x2, x3, x5, x6)
Inc26153(x1, x2, x3, x4, x5) → Inc26153(x1, x2, x3, x5)
Cond_Load18470ARR13(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR13(x1, x2, x3, x4, x6, x7)
Load18470ARR13(x1, x2, x3, x4, x5, x6) → Load18470ARR13(x1, x2, x3, x5, x6)
Cond_Load18470ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR9(x1, x2, x3, x4, x6, x7)
Load18470ARR9(x1, x2, x3, x4, x5, x6) → Load18470ARR9(x1, x2, x3, x5, x6)
(39) 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:
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC)))) →
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR9(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25742Field0,
o25742Field1,
o25742Field2)))
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528))) →
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR10(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26101Field0,
o26101Field1,
o26101Field2)))
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488))) →
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR11(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o26005Field0,
o26005Field1,
o26005Field2)))
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
NULL,
o25488))) →
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
NULL,
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR12(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25486,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25488)),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC)))) →
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR13(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o25849Field0,
o25849Field1,
o25849Field2)))
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC)))) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25527,
o25528))) →
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR14(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o25527,
o25528)),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
o20303,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC)))) →
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR15(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200)))
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i7066,
i7068,
a23200))) →
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
o20302,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC)))) →
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
NULL,
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR16(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20303,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc26153(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP26046(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load18470ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP26084(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load18470ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load18470ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load18470ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(40) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load18470(x1, x2, x3, x4, x5) → Load18470(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load18470ARR9(x1, x2, x3, x4, x5) → Load18470ARR9(x1, x2, x3)
Cond_Load18470ARR9(x1, x2, x3, x4, x5, x6) → Cond_Load18470ARR9(x1, x2, x3, x4)
Inc23747(x1, x2, x3, x4, x5) → Inc23747(x1, x2, x3)
JMP23853(x1, x2, x3, x4, x5) → JMP23853(x1, x2, x3)
Load18470ARR10(x1, x2, x3, x4, x5, x6) → Load18470ARR10(x1, x2, x3, x6)
Cond_Load18470ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR10(x1, x2, x3, x4, x7)
Load18470ARR11(x1, x2, x3, x4, x5, x6) → Load18470ARR11(x1, x2, x3)
Cond_Load18470ARR11(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR11(x1, x2, x3, x4)
Inc26153(x1, x2, x3, x4) → Inc26153(x1, x2, x3)
JMP26046(x1, x2, x3, x4) → JMP26046(x1, x2, x3)
Load18470ARR12(x1, x2, x3, x4, x5, x6) → Load18470ARR12(x1, x2, x3)
Cond_Load18470ARR12(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR12(x1, x2, x3, x4)
Load18470ARR13(x1, x2, x3, x4, x5) → Load18470ARR13(x1, x2, x3, x5)
Cond_Load18470ARR13(x1, x2, x3, x4, x5, x6) → Cond_Load18470ARR13(x1, x2, x3, x4, x6)
JMP26084(x1, x2, x3, x4) → JMP26084(x1, x2, x3)
Load18470ARR14(x1, x2, x3, x4, x5, x6) → Load18470ARR14(x1, x2, x3, x6)
Cond_Load18470ARR14(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR14(x1, x2, x3, x4, x7)
Load18470ARR15(x1, x2, x3, x4, x5) → Load18470ARR15(x1, x2, x3)
Cond_Load18470ARR15(x1, x2, x3, x4, x5, x6) → Cond_Load18470ARR15(x1, x2, x3, x4)
Load18470ARR16(x1, x2, x3, x4, x5) → Load18470ARR16(x1, x2, x3, x5)
Cond_Load18470ARR16(x1, x2, x3, x4, x5, x6) → Cond_Load18470ARR16(x1, x2, x3, x4, x6)
(41) 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:
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR9(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR10(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR11(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1)
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1)
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR12(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR12(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR13(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR14(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR14(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc26153(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR15(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR15(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
JMP26046(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR16(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR16(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP26084(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc26153(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP26046(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR12(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR12(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP26084(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR14(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR14(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load18470ARR15(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR15(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR16(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR16(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(42) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load18470ARR9, Load18470ARR15 | > | Load18470ARR9_3 |
Load18470ARR11, Load18470ARR12 | > | Load18470ARR11_3 |
Cond_Load18470ARR9, Cond_Load18470ARR15 | > | Cond_Load18470ARR9_4 |
JMP23853, JMP26084 | > | JMP23853_3 |
Load18470ARR10, Load18470ARR14 | > | Load18470ARR10_4 |
Load18470ARR13, Load18470ARR16 | > | Load18470ARR13_4 |
Cond_Load18470ARR13, Cond_Load18470ARR16 | > | Cond_Load18470ARR13_5 |
Cond_Load18470ARR10, Cond_Load18470ARR14 | > | Cond_Load18470ARR10_5 |
Inc23747, Inc26153, JMP26046 | > | Inc23747_3 |
Cond_Load18470ARR11, Cond_Load18470ARR12 | > | Cond_Load18470ARR11_4 |
(43) 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:
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR9(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR10(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR11(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR13(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(44) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(45) 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:
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR9(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR10(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
Inc23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Load18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Cond_Load18470ARR11(
i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161 + -1)
Load18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Load18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
Cond_Load18470ARR13(
i7426 > 0 && i6095 > 0 && i6095 < i2 && i6161 > 0 && i6095 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095 + 1,
i6161)
The integer pair graph contains the following rules and edges:
(0):
LOAD18470(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0]) →
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0])
(1):
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1]) →
COND_LOAD18470ARR9(
i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1])
(2):
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2],
i6161[2]) →
INC23747(
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2] + 1,
i6161[2])
(3):
JMP23853'(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3]) →
INC23747(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3])
(4):
LOAD18470(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4]) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4],
java.lang.Object(
java.lang.String(
i7426[4],
i7066[4],
i7068[4],
a23200[4])))
(5):
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5]))) →
COND_LOAD18470ARR10(
i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5])))
(6):
COND_LOAD18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6],
i6161[6],
java.lang.Object(
java.lang.String(
i7426[6],
i7066[6],
i7068[6],
a23200[6]))) →
INC23747(
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6] + 1,
i6161[6])
(7):
INC23747(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7] + -1)
(8):
LOAD18470(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8]) →
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8])
(9):
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9]) →
COND_LOAD18470ARR11(
i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9])
(10):
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10],
i6161[10]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10] + 1,
i6161[10] + -1)
(11):
LOAD18470(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11]) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11],
java.lang.Object(
java.lang.String(
i7426[11],
i7066[11],
i7068[11],
a23200[11])))
(12):
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12]))) →
COND_LOAD18470ARR13(
i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12])))
(13):
COND_LOAD18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13],
i6161[13],
java.lang.Object(
java.lang.String(
i7426[13],
i7066[13],
i7068[13],
a23200[13]))) →
JMP23853'(
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13] + 1,
i6161[13])
(0) -> (1), if ((i6161[0] →* i6161[1])∧(i6095[0] →* i6095[1])∧(java.lang.Object(ARRAY(i2[0], a20407data[0])) →* java.lang.Object(ARRAY(i2[1], a20407data[1]))))
(1) -> (2), if ((i6161[1] →* i6161[2])∧(java.lang.Object(ARRAY(i2[1], a20407data[1])) →* java.lang.Object(ARRAY(i2[2], a20407data[2])))∧(i6095[1] →* i6095[2])∧(i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0 →* TRUE))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a20407data[2])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6161[2] →* i6161[7])∧(i6095[2] + 1 →* i6632[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a20407data[3])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6632[3] →* i6632[7])∧(i6161[3] →* i6161[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])) →* java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))∧(i6161[4] →* i6161[5])∧(java.lang.Object(ARRAY(i2[4], a20407data[4])) →* java.lang.Object(ARRAY(i2[5], a20407data[5])))∧(i6095[4] →* i6095[5]))
(5) -> (6), if ((i6095[5] →* i6095[6])∧(java.lang.Object(ARRAY(i2[5], a20407data[5])) →* java.lang.Object(ARRAY(i2[6], a20407data[6])))∧(i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0 →* TRUE)∧(i6161[5] →* i6161[6])∧(java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])) →* java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6]))))
(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20407data[6])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6161[6] →* i6161[7])∧(i6095[6] + 1 →* i6632[7]))
(7) -> (0), if ((i6632[7] →* i6095[0])∧(i6161[7] + -1 →* i6161[0])∧(java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[0], a20407data[0]))))
(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[4], a20407data[4])))∧(i6161[7] + -1 →* i6161[4])∧(i6632[7] →* i6095[4]))
(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[8], a20407data[8])))∧(i6632[7] →* i6095[8])∧(i6161[7] + -1 →* i6161[8]))
(7) -> (11), if ((i6161[7] + -1 →* i6161[11])∧(java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[11], a20407data[11])))∧(i6632[7] →* i6095[11]))
(8) -> (9), if ((i6095[8] →* i6095[9])∧(i6161[8] →* i6161[9])∧(java.lang.Object(ARRAY(i2[8], a20407data[8])) →* java.lang.Object(ARRAY(i2[9], a20407data[9]))))
(9) -> (10), if ((i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0 →* TRUE)∧(i6161[9] →* i6161[10])∧(java.lang.Object(ARRAY(i2[9], a20407data[9])) →* java.lang.Object(ARRAY(i2[10], a20407data[10])))∧(i6095[9] →* i6095[10]))
(10) -> (0), if ((i6095[10] + 1 →* i6095[0])∧(i6161[10] + -1 →* i6161[0])∧(java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[0], a20407data[0]))))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[4], a20407data[4])))∧(i6161[10] + -1 →* i6161[4])∧(i6095[10] + 1 →* i6095[4]))
(10) -> (8), if ((i6161[10] + -1 →* i6161[8])∧(i6095[10] + 1 →* i6095[8])∧(java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[8], a20407data[8]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[11], a20407data[11])))∧(i6161[10] + -1 →* i6161[11])∧(i6095[10] + 1 →* i6095[11]))
(11) -> (12), if ((java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])) →* java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))∧(i6095[11] →* i6095[12])∧(java.lang.Object(ARRAY(i2[11], a20407data[11])) →* java.lang.Object(ARRAY(i2[12], a20407data[12])))∧(i6161[11] →* i6161[12]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])) →* java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13])))∧(i6095[12] →* i6095[13])∧(i6161[12] →* i6161[13])∧(java.lang.Object(ARRAY(i2[12], a20407data[12])) →* java.lang.Object(ARRAY(i2[13], a20407data[13])))∧(i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6161[13] →* i6161[3])∧(java.lang.Object(ARRAY(i2[13], a20407data[13])) →* java.lang.Object(ARRAY(i2[3], a20407data[3])))∧(i6095[13] + 1 →* i6632[3]))
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(46) 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.
(47) 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):
LOAD18470(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0]) →
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0])
(1):
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1]) →
COND_LOAD18470ARR9(
i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1])
(2):
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2],
i6161[2]) →
INC23747(
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2] + 1,
i6161[2])
(3):
JMP23853'(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3]) →
INC23747(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3])
(4):
LOAD18470(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4]) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4],
java.lang.Object(
java.lang.String(
i7426[4],
i7066[4],
i7068[4],
a23200[4])))
(5):
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5]))) →
COND_LOAD18470ARR10(
i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5])))
(6):
COND_LOAD18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6],
i6161[6],
java.lang.Object(
java.lang.String(
i7426[6],
i7066[6],
i7068[6],
a23200[6]))) →
INC23747(
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6] + 1,
i6161[6])
(7):
INC23747(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7] + -1)
(8):
LOAD18470(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8]) →
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8])
(9):
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9]) →
COND_LOAD18470ARR11(
i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9])
(10):
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10],
i6161[10]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10] + 1,
i6161[10] + -1)
(11):
LOAD18470(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11]) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11],
java.lang.Object(
java.lang.String(
i7426[11],
i7066[11],
i7068[11],
a23200[11])))
(12):
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12]))) →
COND_LOAD18470ARR13(
i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12])))
(13):
COND_LOAD18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13],
i6161[13],
java.lang.Object(
java.lang.String(
i7426[13],
i7066[13],
i7068[13],
a23200[13]))) →
JMP23853'(
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13] + 1,
i6161[13])
(0) -> (1), if ((i6161[0] →* i6161[1])∧(i6095[0] →* i6095[1])∧(java.lang.Object(ARRAY(i2[0], a20407data[0])) →* java.lang.Object(ARRAY(i2[1], a20407data[1]))))
(1) -> (2), if ((i6161[1] →* i6161[2])∧(java.lang.Object(ARRAY(i2[1], a20407data[1])) →* java.lang.Object(ARRAY(i2[2], a20407data[2])))∧(i6095[1] →* i6095[2])∧(i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0 →* TRUE))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a20407data[2])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6161[2] →* i6161[7])∧(i6095[2] + 1 →* i6632[7]))
(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a20407data[3])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6632[3] →* i6632[7])∧(i6161[3] →* i6161[7]))
(4) -> (5), if ((java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])) →* java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))∧(i6161[4] →* i6161[5])∧(java.lang.Object(ARRAY(i2[4], a20407data[4])) →* java.lang.Object(ARRAY(i2[5], a20407data[5])))∧(i6095[4] →* i6095[5]))
(5) -> (6), if ((i6095[5] →* i6095[6])∧(java.lang.Object(ARRAY(i2[5], a20407data[5])) →* java.lang.Object(ARRAY(i2[6], a20407data[6])))∧(i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0 →* TRUE)∧(i6161[5] →* i6161[6])∧(java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])) →* java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6]))))
(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20407data[6])) →* java.lang.Object(ARRAY(i2[7], a20407data[7])))∧(i6161[6] →* i6161[7])∧(i6095[6] + 1 →* i6632[7]))
(7) -> (0), if ((i6632[7] →* i6095[0])∧(i6161[7] + -1 →* i6161[0])∧(java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[0], a20407data[0]))))
(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[4], a20407data[4])))∧(i6161[7] + -1 →* i6161[4])∧(i6632[7] →* i6095[4]))
(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[8], a20407data[8])))∧(i6632[7] →* i6095[8])∧(i6161[7] + -1 →* i6161[8]))
(7) -> (11), if ((i6161[7] + -1 →* i6161[11])∧(java.lang.Object(ARRAY(i2[7], a20407data[7])) →* java.lang.Object(ARRAY(i2[11], a20407data[11])))∧(i6632[7] →* i6095[11]))
(8) -> (9), if ((i6095[8] →* i6095[9])∧(i6161[8] →* i6161[9])∧(java.lang.Object(ARRAY(i2[8], a20407data[8])) →* java.lang.Object(ARRAY(i2[9], a20407data[9]))))
(9) -> (10), if ((i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0 →* TRUE)∧(i6161[9] →* i6161[10])∧(java.lang.Object(ARRAY(i2[9], a20407data[9])) →* java.lang.Object(ARRAY(i2[10], a20407data[10])))∧(i6095[9] →* i6095[10]))
(10) -> (0), if ((i6095[10] + 1 →* i6095[0])∧(i6161[10] + -1 →* i6161[0])∧(java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[0], a20407data[0]))))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[4], a20407data[4])))∧(i6161[10] + -1 →* i6161[4])∧(i6095[10] + 1 →* i6095[4]))
(10) -> (8), if ((i6161[10] + -1 →* i6161[8])∧(i6095[10] + 1 →* i6095[8])∧(java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[8], a20407data[8]))))
(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20407data[10])) →* java.lang.Object(ARRAY(i2[11], a20407data[11])))∧(i6161[10] + -1 →* i6161[11])∧(i6095[10] + 1 →* i6095[11]))
(11) -> (12), if ((java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])) →* java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))∧(i6095[11] →* i6095[12])∧(java.lang.Object(ARRAY(i2[11], a20407data[11])) →* java.lang.Object(ARRAY(i2[12], a20407data[12])))∧(i6161[11] →* i6161[12]))
(12) -> (13), if ((java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])) →* java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13])))∧(i6095[12] →* i6095[13])∧(i6161[12] →* i6161[13])∧(java.lang.Object(ARRAY(i2[12], a20407data[12])) →* java.lang.Object(ARRAY(i2[13], a20407data[13])))∧(i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6161[13] →* i6161[3])∧(java.lang.Object(ARRAY(i2[13], a20407data[13])) →* java.lang.Object(ARRAY(i2[3], a20407data[3])))∧(i6095[13] + 1 →* i6632[3]))
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(48) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(49) 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):
LOAD18470(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0]) →
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0])
(1):
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1]) →
COND_LOAD18470ARR9(
i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1])
(2):
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2],
i6161[2]) →
INC23747(
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2] + 1,
i6161[2])
(3):
JMP23853'(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3]) →
INC23747(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3])
(4):
LOAD18470(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4]) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4],
java.lang.Object(
java.lang.String(
i7426[4],
i7066[4],
i7068[4],
a23200[4])))
(5):
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5]))) →
COND_LOAD18470ARR10(
i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5])))
(6):
COND_LOAD18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6],
i6161[6],
java.lang.Object(
java.lang.String(
i7426[6],
i7066[6],
i7068[6],
a23200[6]))) →
INC23747(
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6] + 1,
i6161[6])
(7):
INC23747(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7] + -1)
(8):
LOAD18470(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8]) →
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8])
(9):
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9]) →
COND_LOAD18470ARR11(
i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9])
(10):
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10],
i6161[10]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10] + 1,
i6161[10] + -1)
(11):
LOAD18470(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11]) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11],
java.lang.Object(
java.lang.String(
i7426[11],
i7066[11],
i7068[11],
a23200[11])))
(12):
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12]))) →
COND_LOAD18470ARR13(
i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12])))
(13):
COND_LOAD18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13],
i6161[13],
java.lang.Object(
java.lang.String(
i7426[13],
i7066[13],
i7068[13],
a23200[13]))) →
JMP23853'(
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13] + 1,
i6161[13])
(0) -> (1), if ((i6161[0] →* i6161[1])∧(i6095[0] →* i6095[1])∧((i2[0] →* i2[1])∧(a20407data[0] →* a20407data[1])))
(1) -> (2), if ((i6161[1] →* i6161[2])∧((i2[1] →* i2[2])∧(a20407data[1] →* a20407data[2]))∧(i6095[1] →* i6095[2])∧(i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0 →* TRUE))
(2) -> (7), if (((i2[2] →* i2[7])∧(a20407data[2] →* a20407data[7]))∧(i6161[2] →* i6161[7])∧(i6095[2] + 1 →* i6632[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a20407data[3] →* a20407data[7]))∧(i6632[3] →* i6632[7])∧(i6161[3] →* i6161[7]))
(4) -> (5), if (((i7426[4] →* i7426[5])∧(i7066[4] →* i7066[5])∧(i7068[4] →* i7068[5])∧(a23200[4] →* a23200[5]))∧(i6161[4] →* i6161[5])∧((i2[4] →* i2[5])∧(a20407data[4] →* a20407data[5]))∧(i6095[4] →* i6095[5]))
(5) -> (6), if ((i6095[5] →* i6095[6])∧((i2[5] →* i2[6])∧(a20407data[5] →* a20407data[6]))∧(i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0 →* TRUE)∧(i6161[5] →* i6161[6])∧((i7426[5] →* i7426[6])∧(i7066[5] →* i7066[6])∧(i7068[5] →* i7068[6])∧(a23200[5] →* a23200[6])))
(6) -> (7), if (((i2[6] →* i2[7])∧(a20407data[6] →* a20407data[7]))∧(i6161[6] →* i6161[7])∧(i6095[6] + 1 →* i6632[7]))
(7) -> (0), if ((i6632[7] →* i6095[0])∧(i6161[7] + -1 →* i6161[0])∧((i2[7] →* i2[0])∧(a20407data[7] →* a20407data[0])))
(7) -> (4), if (((i2[7] →* i2[4])∧(a20407data[7] →* a20407data[4]))∧(i6161[7] + -1 →* i6161[4])∧(i6632[7] →* i6095[4]))
(7) -> (8), if (((i2[7] →* i2[8])∧(a20407data[7] →* a20407data[8]))∧(i6632[7] →* i6095[8])∧(i6161[7] + -1 →* i6161[8]))
(7) -> (11), if ((i6161[7] + -1 →* i6161[11])∧((i2[7] →* i2[11])∧(a20407data[7] →* a20407data[11]))∧(i6632[7] →* i6095[11]))
(8) -> (9), if ((i6095[8] →* i6095[9])∧(i6161[8] →* i6161[9])∧((i2[8] →* i2[9])∧(a20407data[8] →* a20407data[9])))
(9) -> (10), if ((i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0 →* TRUE)∧(i6161[9] →* i6161[10])∧((i2[9] →* i2[10])∧(a20407data[9] →* a20407data[10]))∧(i6095[9] →* i6095[10]))
(10) -> (0), if ((i6095[10] + 1 →* i6095[0])∧(i6161[10] + -1 →* i6161[0])∧((i2[10] →* i2[0])∧(a20407data[10] →* a20407data[0])))
(10) -> (4), if (((i2[10] →* i2[4])∧(a20407data[10] →* a20407data[4]))∧(i6161[10] + -1 →* i6161[4])∧(i6095[10] + 1 →* i6095[4]))
(10) -> (8), if ((i6161[10] + -1 →* i6161[8])∧(i6095[10] + 1 →* i6095[8])∧((i2[10] →* i2[8])∧(a20407data[10] →* a20407data[8])))
(10) -> (11), if (((i2[10] →* i2[11])∧(a20407data[10] →* a20407data[11]))∧(i6161[10] + -1 →* i6161[11])∧(i6095[10] + 1 →* i6095[11]))
(11) -> (12), if (((i7426[11] →* i7426[12])∧(i7066[11] →* i7066[12])∧(i7068[11] →* i7068[12])∧(a23200[11] →* a23200[12]))∧(i6095[11] →* i6095[12])∧((i2[11] →* i2[12])∧(a20407data[11] →* a20407data[12]))∧(i6161[11] →* i6161[12]))
(12) -> (13), if (((i7426[12] →* i7426[13])∧(i7066[12] →* i7066[13])∧(i7068[12] →* i7068[13])∧(a23200[12] →* a23200[13]))∧(i6095[12] →* i6095[13])∧(i6161[12] →* i6161[13])∧((i2[12] →* i2[13])∧(a20407data[12] →* a20407data[13]))∧(i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i6161[13] →* i6161[3])∧((i2[13] →* i2[3])∧(a20407data[13] →* a20407data[3]))∧(i6095[13] + 1 →* i6632[3]))
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(50) 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
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) the following chains were created:
- We consider the chain LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0]) → LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0]), LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]) → COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]) which results in the following constraint:
(1) (i6161[0]=i6161[1]∧i6095[0]=i6095[1]∧i2[0]=i2[1]∧a20407data[0]=a20407data[1] ⇒ LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])≥LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])∧(UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])≥LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])∧(UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)
For Pair
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
COND_LOAD18470ARR9(
&&(
&&(
&&(
>(
i6095,
0),
<(
i6095,
i2)),
>(
i6161,
0)),
>(
+(
i6095,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) the following chains were created:
- We consider the chain LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]) → COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]), COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20407data[2])), i6095[2], i6161[2]) → INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2]) which results in the following constraint:
(7) (i6161[1]=i6161[2]∧i2[1]=i2[2]∧a20407data[1]=a20407data[2]∧i6095[1]=i6095[2]∧&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0))=TRUE ⇒ LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])≥NonInfC∧LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])≥COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])∧(UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i6095[1], 1), 0)=TRUE∧>(i6161[1], 0)=TRUE∧>(i6095[1], 0)=TRUE∧<(i6095[1], i2[1])=TRUE ⇒ LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])≥NonInfC∧LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])≥COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])∧(UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i6095[1] ≥ 0∧i6161[1] + [-1] ≥ 0∧i6095[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i6095[1] ≥ 0∧i6161[1] + [-1] ≥ 0∧i6095[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i6095[1] ≥ 0∧i6161[1] + [-1] ≥ 0∧i6095[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i6095[1] ≥ 0∧i6161[1] + [-1] ≥ 0∧i6095[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i6095[1] ≥ 0∧i6161[1] + [-1] ≥ 0∧i6095[1] ≥ 0∧i2[1] + [-2] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i6095[1] ≥ 0∧i6161[1] ≥ 0∧i6095[1] ≥ 0∧i2[1] + [-2] + [-1]i6095[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i6095[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i6095[1] ≥ 0∧i6161[1] ≥ 0∧i6095[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
For Pair
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
INC23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
+(
i6095,
1),
i6161) the following chains were created:
- We consider the chain COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20407data[2])), i6095[2], i6161[2]) → INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2]) which results in the following constraint:
(16) (COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20407data[2])), i6095[2], i6161[2])≥NonInfC∧COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20407data[2])), i6095[2], i6161[2])≥INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])∧(UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥)∧[(-1)bso_35] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
JMP23853'(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
INC23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) the following chains were created:
- We consider the chain JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3]) → INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3]), INC23747(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], i6161[7]) → LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1)) which results in the following constraint:
(21) (i2[3]=i2[7]∧a20407data[3]=a20407data[7]∧i6632[3]=i6632[7]∧i6161[3]=i6161[7] ⇒ JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])≥NonInfC∧JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])≥INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])∧(UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])≥NonInfC∧JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])≥INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])∧(UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥)∧[(-1)bso_37] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)
For Pair
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) the following chains were created:
- We consider the chain LOAD18470(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4]) → LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4]))) which results in the following constraint:
(27) (LOAD18470(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4])≥LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))∧(UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
COND_LOAD18470ARR10(
&&(
&&(
&&(
&&(
>(
i7426,
0),
>(
i6095,
0)),
<(
i6095,
i2)),
>(
i6161,
0)),
>(
+(
i6095,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) the following chains were created:
- We consider the chain LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5]))) → COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5]))), COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20407data[6])), i6095[6], i6161[6], java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6]))) → INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6]) which results in the following constraint:
(32) (i6095[5]=i6095[6]∧i2[5]=i2[6]∧a20407data[5]=a20407data[6]∧&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0))=TRUE∧i6161[5]=i6161[6]∧i7426[5]=i7426[6]∧i7066[5]=i7066[6]∧i7068[5]=i7068[6]∧a23200[5]=a23200[6] ⇒ LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))≥NonInfC∧LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))≥COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))∧(UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i6095[5], 1), 0)=TRUE∧>(i6161[5], 0)=TRUE∧<(i6095[5], i2[5])=TRUE∧>(i7426[5], 0)=TRUE∧>(i6095[5], 0)=TRUE ⇒ LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))≥NonInfC∧LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))≥COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))∧(UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i6095[5] ≥ 0∧i6161[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i6095[5] ≥ 0∧i6161[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i6095[5] ≥ 0∧i6161[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i6095[5] ≥ 0∧i6161[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i6095[5] ≥ 0∧i6161[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i6095[5] ≥ 0∧i6161[5] ≥ 0∧i2[5] + [-2] + [-1]i6095[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i6095[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i6095[5] ≥ 0∧i6161[5] ≥ 0∧i2[5] ≥ 0∧i7426[5] + [-1] ≥ 0∧i6095[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i6095[5] ≥ 0∧i6161[5] ≥ 0∧i2[5] ≥ 0∧i7426[5] ≥ 0∧i6095[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
COND_LOAD18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
INC23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
+(
i6095,
1),
i6161) the following chains were created:
- We consider the chain COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20407data[6])), i6095[6], i6161[6], java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6]))) → INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6]) which results in the following constraint:
(42) (COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20407data[6])), i6095[6], i6161[6], java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6])))≥NonInfC∧COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20407data[6])), i6095[6], i6161[6], java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6])))≥INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])∧(UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
For Pair
INC23747(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
i6161) →
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6632,
+(
i6161,
-1)) the following chains were created:
- We consider the chain INC23747(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], i6161[7]) → LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1)) which results in the following constraint:
(47) (INC23747(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], i6161[7])≥NonInfC∧INC23747(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], i6161[7])≥LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))∧(UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
For Pair
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) the following chains were created:
- We consider the chain LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8]) → LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8]), LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]) → COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]) which results in the following constraint:
(52) (i6095[8]=i6095[9]∧i6161[8]=i6161[9]∧i2[8]=i2[9]∧a20407data[8]=a20407data[9] ⇒ LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])≥LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])∧(UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])≥LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])∧(UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
For Pair
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
COND_LOAD18470ARR11(
&&(
&&(
&&(
>(
i6095,
0),
<(
i6095,
i2)),
>(
i6161,
0)),
>(
+(
i6095,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) the following chains were created:
- We consider the chain LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]) → COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]), COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20407data[10])), i6095[10], i6161[10]) → LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1)) which results in the following constraint:
(58) (&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0))=TRUE∧i6161[9]=i6161[10]∧i2[9]=i2[10]∧a20407data[9]=a20407data[10]∧i6095[9]=i6095[10] ⇒ LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])≥NonInfC∧LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])≥COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])∧(UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i6095[9], 1), 0)=TRUE∧>(i6161[9], 0)=TRUE∧>(i6095[9], 0)=TRUE∧<(i6095[9], i2[9])=TRUE ⇒ LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])≥NonInfC∧LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])≥COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])∧(UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i6095[9] ≥ 0∧i6161[9] + [-1] ≥ 0∧i6095[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i6095[9] ≥ 0∧i6161[9] + [-1] ≥ 0∧i6095[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i6095[9] ≥ 0∧i6161[9] + [-1] ≥ 0∧i6095[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i6095[9] ≥ 0∧i6161[9] + [-1] ≥ 0∧i6095[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i6095[9] ≥ 0∧i6161[9] + [-1] ≥ 0∧i6095[9] ≥ 0∧i2[9] + [-2] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i6095[9] ≥ 0∧i6161[9] ≥ 0∧i6095[9] ≥ 0∧i2[9] + [-2] + [-1]i6095[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i6095[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i6095[9] ≥ 0∧i6161[9] ≥ 0∧i6095[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
+(
i6095,
1),
+(
i6161,
-1)) the following chains were created:
- We consider the chain COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20407data[10])), i6095[10], i6161[10]) → LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1)) which results in the following constraint:
(67) (COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20407data[10])), i6095[10], i6161[10])≥NonInfC∧COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20407data[10])), i6095[10], i6161[10])≥LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))∧(UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)
For Pair
LOAD18470(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) the following chains were created:
- We consider the chain LOAD18470(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11]) → LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11]))) which results in the following constraint:
(72) (LOAD18470(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11])≥NonInfC∧LOAD18470(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11])≥LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))∧(UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥)∧[(-1)bso_53] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
For Pair
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
COND_LOAD18470ARR13(
&&(
&&(
&&(
&&(
>(
i7426,
0),
>(
i6095,
0)),
<(
i6095,
i2)),
>(
i6161,
0)),
>(
+(
i6095,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) the following chains were created:
- We consider the chain LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12]))) → COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12]))), COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20407data[13])), i6095[13], i6161[13], java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13]))) → JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13]) which results in the following constraint:
(77) (i7426[12]=i7426[13]∧i7066[12]=i7066[13]∧i7068[12]=i7068[13]∧a23200[12]=a23200[13]∧i6095[12]=i6095[13]∧i6161[12]=i6161[13]∧i2[12]=i2[13]∧a20407data[12]=a20407data[13]∧&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0))=TRUE ⇒ LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))≥NonInfC∧LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))≥COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))∧(UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i6095[12], 1), 0)=TRUE∧>(i6161[12], 0)=TRUE∧<(i6095[12], i2[12])=TRUE∧>(i7426[12], 0)=TRUE∧>(i6095[12], 0)=TRUE ⇒ LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))≥NonInfC∧LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))≥COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))∧(UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i6095[12] ≥ 0∧i6161[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i6095[12] ≥ 0∧i6161[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i6095[12] ≥ 0∧i6161[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i6095[12] ≥ 0∧i6161[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i6095[12] ≥ 0∧i6161[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i6095[12] ≥ 0∧i6161[12] ≥ 0∧i2[12] + [-2] + [-1]i6095[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i6095[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i6095[12] ≥ 0∧i6161[12] ≥ 0∧i2[12] ≥ 0∧i7426[12] + [-1] ≥ 0∧i6095[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i6095[12] ≥ 0∧i6161[12] ≥ 0∧i2[12] ≥ 0∧i7426[12] ≥ 0∧i6095[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
For Pair
COND_LOAD18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2,
a20407data)),
i6095,
i6161,
java.lang.Object(
java.lang.String(
i7426,
i7066,
i7068,
a23200))) →
JMP23853'(
java.lang.Object(
ARRAY(
i2,
a20407data)),
+(
i6095,
1),
i6161) the following chains were created:
- We consider the chain COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20407data[13])), i6095[13], i6161[13], java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13]))) → JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13]) which results in the following constraint:
(87) (COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20407data[13])), i6095[13], i6161[13], java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13])))≥NonInfC∧COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20407data[13])), i6095[13], i6161[13], java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13])))≥JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])∧(UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → LOAD18470ARR9(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161)
- ((UIncreasing(LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)
- LOAD18470ARR9(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → COND_LOAD18470ARR9(&&(&&(&&(>(i6095, 0), <(i6095, i2)), >(i6161, 0)), >(+(i6095, 1), 0)), java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161)
- ([1] + i6095[1] ≥ 0∧i6161[1] ≥ 0∧i6095[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)
- COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → INC23747(java.lang.Object(ARRAY(i2, a20407data)), +(i6095, 1), i6161)
- ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- JMP23853'(java.lang.Object(ARRAY(i2, a20407data)), i6632, i6161) → INC23747(java.lang.Object(ARRAY(i2, a20407data)), i6632, i6161)
- ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)
- LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → LOAD18470ARR10(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200)))
- ((UIncreasing(LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD18470ARR10(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200))) → COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426, 0), >(i6095, 0)), <(i6095, i2)), >(i6161, 0)), >(+(i6095, 1), 0)), java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200)))
- ([1] + i6095[5] ≥ 0∧i6161[5] ≥ 0∧i2[5] ≥ 0∧i7426[5] ≥ 0∧i6095[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200))) → INC23747(java.lang.Object(ARRAY(i2, a20407data)), +(i6095, 1), i6161)
- ((UIncreasing(INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)
- INC23747(java.lang.Object(ARRAY(i2, a20407data)), i6632, i6161) → LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), i6632, +(i6161, -1))
- ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
- LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → LOAD18470ARR11(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161)
- ((UIncreasing(LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)
- LOAD18470ARR11(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → COND_LOAD18470ARR11(&&(&&(&&(>(i6095, 0), <(i6095, i2)), >(i6161, 0)), >(+(i6095, 1), 0)), java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161)
- ([1] + i6095[9] ≥ 0∧i6161[9] ≥ 0∧i6095[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), +(i6095, 1), +(i6161, -1))
- ((UIncreasing(LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)
- LOAD18470(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161) → LOAD18470ARR13(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200)))
- ((UIncreasing(LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)
- LOAD18470ARR13(java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200))) → COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426, 0), >(i6095, 0)), <(i6095, i2)), >(i6161, 0)), >(+(i6095, 1), 0)), java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200)))
- ([1] + i6095[12] ≥ 0∧i6161[12] ≥ 0∧i2[12] ≥ 0∧i7426[12] ≥ 0∧i6095[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)
- COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2, a20407data)), i6095, i6161, java.lang.Object(java.lang.String(i7426, i7066, i7068, a23200))) → JMP23853'(java.lang.Object(ARRAY(i2, a20407data)), +(i6095, 1), i6161)
- ((UIncreasing(JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 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(LOAD18470(x1, x2, x3)) = [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD18470ARR9(x1, x2, x3)) = [-1] + [-1]x1 + [-1]x2
POL(COND_LOAD18470ARR9(x1, x2, x3, x4)) = [-1] + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC23747(x1, x2, x3)) = [-1]x2 + [-1]x1
POL(JMP23853'(x1, x2, x3)) = [-1]x2 + [-1]x1
POL(LOAD18470ARR10(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1]
POL(COND_LOAD18470ARR10(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD18470ARR11(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1
POL(COND_LOAD18470ARR11(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2
POL(LOAD18470ARR13(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1
POL(COND_LOAD18470ARR13(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD18470(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0]) → LOAD18470ARR9(java.lang.Object(ARRAY(i2[0], a20407data[0])), i6095[0], i6161[0])
COND_LOAD18470ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20407data[6])), i6095[6], i6161[6], java.lang.Object(java.lang.String(i7426[6], i7066[6], i7068[6], a23200[6]))) → INC23747(java.lang.Object(ARRAY(i2[6], a20407data[6])), +(i6095[6], 1), i6161[6])
LOAD18470(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8]) → LOAD18470ARR11(java.lang.Object(ARRAY(i2[8], a20407data[8])), i6095[8], i6161[8])
COND_LOAD18470ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20407data[13])), i6095[13], i6161[13], java.lang.Object(java.lang.String(i7426[13], i7066[13], i7068[13], a23200[13]))) → JMP23853'(java.lang.Object(ARRAY(i2[13], a20407data[13])), +(i6095[13], 1), i6161[13])
The following pairs are in P
bound:
LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]) → COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])
LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5]))) → COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))
LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]) → COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])
LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12]))) → COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))
The following pairs are in P
≥:
LOAD18470ARR9(java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1]) → COND_LOAD18470ARR9(&&(&&(&&(>(i6095[1], 0), <(i6095[1], i2[1])), >(i6161[1], 0)), >(+(i6095[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20407data[1])), i6095[1], i6161[1])
COND_LOAD18470ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20407data[2])), i6095[2], i6161[2]) → INC23747(java.lang.Object(ARRAY(i2[2], a20407data[2])), +(i6095[2], 1), i6161[2])
JMP23853'(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3]) → INC23747(java.lang.Object(ARRAY(i2[3], a20407data[3])), i6632[3], i6161[3])
LOAD18470(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4]) → LOAD18470ARR10(java.lang.Object(ARRAY(i2[4], a20407data[4])), i6095[4], i6161[4], java.lang.Object(java.lang.String(i7426[4], i7066[4], i7068[4], a23200[4])))
LOAD18470ARR10(java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5]))) → COND_LOAD18470ARR10(&&(&&(&&(&&(>(i7426[5], 0), >(i6095[5], 0)), <(i6095[5], i2[5])), >(i6161[5], 0)), >(+(i6095[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20407data[5])), i6095[5], i6161[5], java.lang.Object(java.lang.String(i7426[5], i7066[5], i7068[5], a23200[5])))
INC23747(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], i6161[7]) → LOAD18470(java.lang.Object(ARRAY(i2[7], a20407data[7])), i6632[7], +(i6161[7], -1))
LOAD18470ARR11(java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9]) → COND_LOAD18470ARR11(&&(&&(&&(>(i6095[9], 0), <(i6095[9], i2[9])), >(i6161[9], 0)), >(+(i6095[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20407data[9])), i6095[9], i6161[9])
COND_LOAD18470ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20407data[10])), i6095[10], i6161[10]) → LOAD18470(java.lang.Object(ARRAY(i2[10], a20407data[10])), +(i6095[10], 1), +(i6161[10], -1))
LOAD18470(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11]) → LOAD18470ARR13(java.lang.Object(ARRAY(i2[11], a20407data[11])), i6095[11], i6161[11], java.lang.Object(java.lang.String(i7426[11], i7066[11], i7068[11], a23200[11])))
LOAD18470ARR13(java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12]))) → COND_LOAD18470ARR13(&&(&&(&&(&&(>(i7426[12], 0), >(i6095[12], 0)), <(i6095[12], i2[12])), >(i6161[12], 0)), >(+(i6095[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20407data[12])), i6095[12], i6161[12], java.lang.Object(java.lang.String(i7426[12], i7066[12], i7068[12], a23200[12])))
There are no usable rules.
(51) Complex Obligation (AND)
(52) 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):
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1]) →
COND_LOAD18470ARR9(
i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a20407data[1])),
i6095[1],
i6161[1])
(2):
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2],
i6161[2]) →
INC23747(
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2] + 1,
i6161[2])
(3):
JMP23853'(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3]) →
INC23747(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3])
(4):
LOAD18470(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4]) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4],
java.lang.Object(
java.lang.String(
i7426[4],
i7066[4],
i7068[4],
a23200[4])))
(5):
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5]))) →
COND_LOAD18470ARR10(
i7426[5] > 0 && i6095[5] > 0 && i6095[5] < i2[5] && i6161[5] > 0 && i6095[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a20407data[5])),
i6095[5],
i6161[5],
java.lang.Object(
java.lang.String(
i7426[5],
i7066[5],
i7068[5],
a23200[5])))
(7):
INC23747(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7] + -1)
(9):
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9]) →
COND_LOAD18470ARR11(
i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a20407data[9])),
i6095[9],
i6161[9])
(10):
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10],
i6161[10]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10] + 1,
i6161[10] + -1)
(11):
LOAD18470(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11]) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11],
java.lang.Object(
java.lang.String(
i7426[11],
i7066[11],
i7068[11],
a23200[11])))
(12):
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12]))) →
COND_LOAD18470ARR13(
i7426[12] > 0 && i6095[12] > 0 && i6095[12] < i2[12] && i6161[12] > 0 && i6095[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a20407data[12])),
i6095[12],
i6161[12],
java.lang.Object(
java.lang.String(
i7426[12],
i7066[12],
i7068[12],
a23200[12])))
(1) -> (2), if ((i6161[1] →* i6161[2])∧((i2[1] →* i2[2])∧(a20407data[1] →* a20407data[2]))∧(i6095[1] →* i6095[2])∧(i6095[1] > 0 && i6095[1] < i2[1] && i6161[1] > 0 && i6095[1] + 1 > 0 →* TRUE))
(7) -> (4), if (((i2[7] →* i2[4])∧(a20407data[7] →* a20407data[4]))∧(i6161[7] + -1 →* i6161[4])∧(i6632[7] →* i6095[4]))
(10) -> (4), if (((i2[10] →* i2[4])∧(a20407data[10] →* a20407data[4]))∧(i6161[10] + -1 →* i6161[4])∧(i6095[10] + 1 →* i6095[4]))
(4) -> (5), if (((i7426[4] →* i7426[5])∧(i7066[4] →* i7066[5])∧(i7068[4] →* i7068[5])∧(a23200[4] →* a23200[5]))∧(i6161[4] →* i6161[5])∧((i2[4] →* i2[5])∧(a20407data[4] →* a20407data[5]))∧(i6095[4] →* i6095[5]))
(2) -> (7), if (((i2[2] →* i2[7])∧(a20407data[2] →* a20407data[7]))∧(i6161[2] →* i6161[7])∧(i6095[2] + 1 →* i6632[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a20407data[3] →* a20407data[7]))∧(i6632[3] →* i6632[7])∧(i6161[3] →* i6161[7]))
(9) -> (10), if ((i6095[9] > 0 && i6095[9] < i2[9] && i6161[9] > 0 && i6095[9] + 1 > 0 →* TRUE)∧(i6161[9] →* i6161[10])∧((i2[9] →* i2[10])∧(a20407data[9] →* a20407data[10]))∧(i6095[9] →* i6095[10]))
(7) -> (11), if ((i6161[7] + -1 →* i6161[11])∧((i2[7] →* i2[11])∧(a20407data[7] →* a20407data[11]))∧(i6632[7] →* i6095[11]))
(10) -> (11), if (((i2[10] →* i2[11])∧(a20407data[10] →* a20407data[11]))∧(i6161[10] + -1 →* i6161[11])∧(i6095[10] + 1 →* i6095[11]))
(11) -> (12), if (((i7426[11] →* i7426[12])∧(i7066[11] →* i7066[12])∧(i7068[11] →* i7068[12])∧(a23200[11] →* a23200[12]))∧(i6095[11] →* i6095[12])∧((i2[11] →* i2[12])∧(a20407data[11] →* a20407data[12]))∧(i6161[11] →* i6161[12]))
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(53) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(54) TRUE
(55) 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):
LOAD18470(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0]) →
LOAD18470ARR9(
java.lang.Object(
ARRAY(
i2[0],
a20407data[0])),
i6095[0],
i6161[0])
(2):
COND_LOAD18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2],
i6161[2]) →
INC23747(
java.lang.Object(
ARRAY(
i2[2],
a20407data[2])),
i6095[2] + 1,
i6161[2])
(3):
JMP23853'(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3]) →
INC23747(
java.lang.Object(
ARRAY(
i2[3],
a20407data[3])),
i6632[3],
i6161[3])
(4):
LOAD18470(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4]) →
LOAD18470ARR10(
java.lang.Object(
ARRAY(
i2[4],
a20407data[4])),
i6095[4],
i6161[4],
java.lang.Object(
java.lang.String(
i7426[4],
i7066[4],
i7068[4],
a23200[4])))
(6):
COND_LOAD18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6],
i6161[6],
java.lang.Object(
java.lang.String(
i7426[6],
i7066[6],
i7068[6],
a23200[6]))) →
INC23747(
java.lang.Object(
ARRAY(
i2[6],
a20407data[6])),
i6095[6] + 1,
i6161[6])
(7):
INC23747(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[7],
a20407data[7])),
i6632[7],
i6161[7] + -1)
(8):
LOAD18470(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8]) →
LOAD18470ARR11(
java.lang.Object(
ARRAY(
i2[8],
a20407data[8])),
i6095[8],
i6161[8])
(10):
COND_LOAD18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10],
i6161[10]) →
LOAD18470(
java.lang.Object(
ARRAY(
i2[10],
a20407data[10])),
i6095[10] + 1,
i6161[10] + -1)
(11):
LOAD18470(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11]) →
LOAD18470ARR13(
java.lang.Object(
ARRAY(
i2[11],
a20407data[11])),
i6095[11],
i6161[11],
java.lang.Object(
java.lang.String(
i7426[11],
i7066[11],
i7068[11],
a23200[11])))
(13):
COND_LOAD18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13],
i6161[13],
java.lang.Object(
java.lang.String(
i7426[13],
i7066[13],
i7068[13],
a23200[13]))) →
JMP23853'(
java.lang.Object(
ARRAY(
i2[13],
a20407data[13])),
i6095[13] + 1,
i6161[13])
(7) -> (0), if ((i6632[7] →* i6095[0])∧(i6161[7] + -1 →* i6161[0])∧((i2[7] →* i2[0])∧(a20407data[7] →* a20407data[0])))
(10) -> (0), if ((i6095[10] + 1 →* i6095[0])∧(i6161[10] + -1 →* i6161[0])∧((i2[10] →* i2[0])∧(a20407data[10] →* a20407data[0])))
(13) -> (3), if ((i6161[13] →* i6161[3])∧((i2[13] →* i2[3])∧(a20407data[13] →* a20407data[3]))∧(i6095[13] + 1 →* i6632[3]))
(7) -> (4), if (((i2[7] →* i2[4])∧(a20407data[7] →* a20407data[4]))∧(i6161[7] + -1 →* i6161[4])∧(i6632[7] →* i6095[4]))
(10) -> (4), if (((i2[10] →* i2[4])∧(a20407data[10] →* a20407data[4]))∧(i6161[10] + -1 →* i6161[4])∧(i6095[10] + 1 →* i6095[4]))
(2) -> (7), if (((i2[2] →* i2[7])∧(a20407data[2] →* a20407data[7]))∧(i6161[2] →* i6161[7])∧(i6095[2] + 1 →* i6632[7]))
(3) -> (7), if (((i2[3] →* i2[7])∧(a20407data[3] →* a20407data[7]))∧(i6632[3] →* i6632[7])∧(i6161[3] →* i6161[7]))
(6) -> (7), if (((i2[6] →* i2[7])∧(a20407data[6] →* a20407data[7]))∧(i6161[6] →* i6161[7])∧(i6095[6] + 1 →* i6632[7]))
(7) -> (8), if (((i2[7] →* i2[8])∧(a20407data[7] →* a20407data[8]))∧(i6632[7] →* i6095[8])∧(i6161[7] + -1 →* i6161[8]))
(10) -> (8), if ((i6161[10] + -1 →* i6161[8])∧(i6095[10] + 1 →* i6095[8])∧((i2[10] →* i2[8])∧(a20407data[10] →* a20407data[8])))
(7) -> (11), if ((i6161[7] + -1 →* i6161[11])∧((i2[7] →* i2[11])∧(a20407data[7] →* a20407data[11]))∧(i6632[7] →* i6095[11]))
(10) -> (11), if (((i2[10] →* i2[11])∧(a20407data[10] →* a20407data[11]))∧(i6161[10] + -1 →* i6161[11])∧(i6095[10] + 1 →* i6095[11]))
The set Q consists of the following terms:
Load18470(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR9(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR9(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP23853(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR10(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR10(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc23747(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR11(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load18470ARR11(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load18470ARR13(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load18470ARR13(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(56) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(57) TRUE
(58) 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:
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC)))) →
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR17(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)))
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745))) →
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR18(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)))
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738))) →
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR19(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)))
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
NULL,
o20738))) →
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
NULL,
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR20(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC)))) →
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR21(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)))
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20744,
o20745))) →
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR22(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC)))) →
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR23(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC)))) →
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR24(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc22738(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP22518(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load15633ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP22552(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load15633ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load15633ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load15633ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(59) DuplicateArgsRemoverProof (EQUIVALENT transformation)
Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:
JMP22552(x1, x2, x3, x4, x5) → JMP22552(x1, x2, x3, x5)
Cond_Load15633ARR24(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR24(x1, x2, x3, x4, x6, x7)
Load15633ARR24(x1, x2, x3, x4, x5, x6) → Load15633ARR24(x1, x2, x3, x5, x6)
JMP22518(x1, x2, x3, x4, x5) → JMP22518(x1, x2, x3, x5)
Cond_Load15633ARR23(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR23(x1, x2, x3, x4, x6, x7)
Load15633ARR23(x1, x2, x3, x4, x5, x6) → Load15633ARR23(x1, x2, x3, x5, x6)
Inc22738(x1, x2, x3, x4, x5) → Inc22738(x1, x2, x3, x5)
Cond_Load15633ARR21(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR21(x1, x2, x3, x4, x6, x7)
Load15633ARR21(x1, x2, x3, x4, x5, x6) → Load15633ARR21(x1, x2, x3, x5, x6)
Cond_Load15633ARR17(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR17(x1, x2, x3, x4, x6, x7)
Load15633ARR17(x1, x2, x3, x4, x5, x6) → Load15633ARR17(x1, x2, x3, x5, x6)
(60) 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:
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC)))) →
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR17(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)),
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20860Field0,
o20860Field1,
o20860Field2)))
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745))) →
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR18(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21043Field0,
o21043Field1,
o21043Field2)))
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738))) →
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR19(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o21024Field0,
o21024Field1,
o21024Field2)))
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
NULL,
o20738))) →
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
NULL,
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR20(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20736,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20738)),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC)))) →
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR21(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o20898Field0,
o20898Field1,
o20898Field2)))
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC)))) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20744,
o20745))) →
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR22(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o20744,
o20745)),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
o17422,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC)))) →
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR23(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188)))
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
i5631,
i5633,
a19188))) →
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
o17421,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC)))) →
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
NULL,
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR24(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
o17422,
java.lang.Object(
EOC))))
The set Q consists of the following terms:
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
x5,
x6,
x7)),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)))
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x6,
x7,
x8)),
x9,
x10)),
java.lang.Object(
java.lang.String(
x11,
x12,
x13,
x14)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
x7,
x8)))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)))
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
x7,
x8,
x9)),
x10)),
java.lang.Object(
java.lang.String(
0,
x11,
x12,
x13)))
Inc22738(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
JMP22518(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
NULL,
x7)))
Load15633ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
x6,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x7)),
java.lang.Object(
java.lang.String(
0,
x8,
x9,
x10)))
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
x4,
x5,
x6)),
x7,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
JMP22552(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))))
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
NULL,
x6,
x7)))
Load15633ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
x5,
java.lang.Object(
EOC))),
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x6,
x7)),
java.lang.Object(
java.lang.String(
x8,
x9,
x10,
x11)))
Load15633ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
x4,
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
0,
x5,
x6,
x7)))
Load15633ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
Tree(
java.lang.Object(
Tree(
NULL,
NULL,
java.lang.Object(
EOC))),
x4,
java.lang.Object(
EOC))),
java.lang.Object(
java.lang.String(
x5,
x6,
x7,
x8)))
(61) ITRSFilterProcessorProof (SOUND transformation)
We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:
Load15633(x1, x2, x3, x4, x5) → Load15633(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load15633ARR17(x1, x2, x3, x4, x5) → Load15633ARR17(x1, x2, x3)
Cond_Load15633ARR17(x1, x2, x3, x4, x5, x6) → Cond_Load15633ARR17(x1, x2, x3, x4)
Inc19833(x1, x2, x3, x4, x5) → Inc19833(x1, x2, x3)
JMP19898(x1, x2, x3, x4, x5) → JMP19898(x1, x2, x3)
Load15633ARR18(x1, x2, x3, x4, x5, x6) → Load15633ARR18(x1, x2, x3, x6)
Cond_Load15633ARR18(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR18(x1, x2, x3, x4, x7)
Load15633ARR19(x1, x2, x3, x4, x5, x6) → Load15633ARR19(x1, x2, x3)
Cond_Load15633ARR19(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR19(x1, x2, x3, x4)
Inc22738(x1, x2, x3, x4) → Inc22738(x1, x2, x3)
JMP22518(x1, x2, x3, x4) → JMP22518(x1, x2, x3)
Load15633ARR20(x1, x2, x3, x4, x5, x6) → Load15633ARR20(x1, x2, x3)
Cond_Load15633ARR20(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR20(x1, x2, x3, x4)
Load15633ARR21(x1, x2, x3, x4, x5) → Load15633ARR21(x1, x2, x3, x5)
Cond_Load15633ARR21(x1, x2, x3, x4, x5, x6) → Cond_Load15633ARR21(x1, x2, x3, x4, x6)
JMP22552(x1, x2, x3, x4) → JMP22552(x1, x2, x3)
Load15633ARR22(x1, x2, x3, x4, x5, x6) → Load15633ARR22(x1, x2, x3, x6)
Cond_Load15633ARR22(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15633ARR22(x1, x2, x3, x4, x7)
Load15633ARR23(x1, x2, x3, x4, x5) → Load15633ARR23(x1, x2, x3)
Cond_Load15633ARR23(x1, x2, x3, x4, x5, x6) → Cond_Load15633ARR23(x1, x2, x3, x4)
Load15633ARR24(x1, x2, x3, x4, x5) → Load15633ARR24(x1, x2, x3, x5)
Cond_Load15633ARR24(x1, x2, x3, x4, x5, x6) → Cond_Load15633ARR24(x1, x2, x3, x4, x6)
(62) 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:
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR17(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR18(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR19(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1)
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1)
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR20(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR20(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR21(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR22(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR22(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc22738(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR23(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR23(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
JMP22518(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR24(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR24(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP22552(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Inc22738(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP22518(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR20(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR20(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
JMP22552(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR22(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR22(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Load15633ARR23(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR23(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR24(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR24(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(63) ITRSFSMergerProof (SOUND transformation)
The following function symbols have been merged:
Load15633ARR17, Load15633ARR23 | > | Load15633ARR17_3 |
Load15633ARR19, Load15633ARR20 | > | Load15633ARR19_3 |
Cond_Load15633ARR17, Cond_Load15633ARR23 | > | Cond_Load15633ARR17_4 |
JMP19898, JMP22552 | > | JMP19898_3 |
Load15633ARR18, Load15633ARR22 | > | Load15633ARR18_4 |
Load15633ARR21, Load15633ARR24 | > | Load15633ARR21_4 |
Cond_Load15633ARR21, Cond_Load15633ARR24 | > | Cond_Load15633ARR21_5 |
Cond_Load15633ARR18, Cond_Load15633ARR22 | > | Cond_Load15633ARR18_5 |
Inc19833, Inc22738, JMP22518 | > | Inc19833_3 |
Cond_Load15633ARR19, Cond_Load15633ARR20 | > | Cond_Load15633ARR19_4 |
(64) 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:
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR17(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR18(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR19(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR21(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(65) ITRStoIDPProof (EQUIVALENT transformation)
Added dependency pairs
(66) 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:
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR17(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR18(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
Inc19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Load15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Cond_Load15633ARR19(
i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153 + -1)
Load15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Load15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
Cond_Load15633ARR21(
i5990 > 0 && i5116 > 0 && i5116 < i2 && i5153 > 0 && i5116 + 1 > 0,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116 + 1,
i5153)
The integer pair graph contains the following rules and edges:
(0):
LOAD15633(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0]) →
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0])
(1):
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1]) →
COND_LOAD15633ARR17(
i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1])
(2):
COND_LOAD15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2],
i5153[2]) →
INC19833(
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2] + 1,
i5153[2])
(3):
JMP19898'(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3]) →
INC19833(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3])
(4):
LOAD15633(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4]) →
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4],
java.lang.Object(
java.lang.String(
i5990[4],
i5631[4],
i5633[4],
a19188[4])))
(5):
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5]))) →
COND_LOAD15633ARR18(
i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5])))
(6):
COND_LOAD15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6],
i5153[6],
java.lang.Object(
java.lang.String(
i5990[6],
i5631[6],
i5633[6],
a19188[6]))) →
INC19833(
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6] + 1,
i5153[6])
(7):
INC19833(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7] + -1)
(8):
LOAD15633(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8]) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8])
(9):
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9]) →
COND_LOAD15633ARR19(
i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9])
(10):
COND_LOAD15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10],
i5153[10]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10] + 1,
i5153[10] + -1)
(11):
LOAD15633(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11]) →
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11],
java.lang.Object(
java.lang.String(
i5990[11],
i5631[11],
i5633[11],
a19188[11])))
(12):
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12]))) →
COND_LOAD15633ARR21(
i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12])))
(13):
COND_LOAD15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13],
i5153[13],
java.lang.Object(
java.lang.String(
i5990[13],
i5631[13],
i5633[13],
a19188[13]))) →
JMP19898'(
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13] + 1,
i5153[13])
(0) -> (1), if ((i5153[0] →* i5153[1])∧(i5116[0] →* i5116[1])∧(java.lang.Object(ARRAY(i2[0], a17742data[0])) →* java.lang.Object(ARRAY(i2[1], a17742data[1]))))
(1) -> (2), if ((i5153[1] →* i5153[2])∧(i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0 →* TRUE)∧(i5116[1] →* i5116[2])∧(java.lang.Object(ARRAY(i2[1], a17742data[1])) →* java.lang.Object(ARRAY(i2[2], a17742data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17742data[2])) →* java.lang.Object(ARRAY(i2[7], a17742data[7])))∧(i5116[2] + 1 →* i5375[7])∧(i5153[2] →* i5153[7]))
(3) -> (7), if ((i5375[3] →* i5375[7])∧(java.lang.Object(ARRAY(i2[3], a17742data[3])) →* java.lang.Object(ARRAY(i2[7], a17742data[7])))∧(i5153[3] →* i5153[7]))
(4) -> (5), if ((i5153[4] →* i5153[5])∧(java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])) →* java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))∧(i5116[4] →* i5116[5])∧(java.lang.Object(ARRAY(i2[4], a17742data[4])) →* java.lang.Object(ARRAY(i2[5], a17742data[5]))))
(5) -> (6), if ((i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0 →* TRUE)∧(i5153[5] →* i5153[6])∧(i5116[5] →* i5116[6])∧(java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])) →* java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6])))∧(java.lang.Object(ARRAY(i2[5], a17742data[5])) →* java.lang.Object(ARRAY(i2[6], a17742data[6]))))
(6) -> (7), if ((i5153[6] →* i5153[7])∧(i5116[6] + 1 →* i5375[7])∧(java.lang.Object(ARRAY(i2[6], a17742data[6])) →* java.lang.Object(ARRAY(i2[7], a17742data[7]))))
(7) -> (0), if ((i5375[7] →* i5116[0])∧(i5153[7] + -1 →* i5153[0])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[0], a17742data[0]))))
(7) -> (4), if ((i5153[7] + -1 →* i5153[4])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[4], a17742data[4])))∧(i5375[7] →* i5116[4]))
(7) -> (8), if ((i5153[7] + -1 →* i5153[8])∧(i5375[7] →* i5116[8])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[8], a17742data[8]))))
(7) -> (11), if ((i5153[7] + -1 →* i5153[11])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[11], a17742data[11])))∧(i5375[7] →* i5116[11]))
(8) -> (9), if ((i5116[8] →* i5116[9])∧(java.lang.Object(ARRAY(i2[8], a17742data[8])) →* java.lang.Object(ARRAY(i2[9], a17742data[9])))∧(i5153[8] →* i5153[9]))
(9) -> (10), if ((i5116[9] →* i5116[10])∧(i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0 →* TRUE)∧(i5153[9] →* i5153[10])∧(java.lang.Object(ARRAY(i2[9], a17742data[9])) →* java.lang.Object(ARRAY(i2[10], a17742data[10]))))
(10) -> (0), if ((i5153[10] + -1 →* i5153[0])∧(i5116[10] + 1 →* i5116[0])∧(java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[0], a17742data[0]))))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[4], a17742data[4])))∧(i5153[10] + -1 →* i5153[4])∧(i5116[10] + 1 →* i5116[4]))
(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[8], a17742data[8])))∧(i5153[10] + -1 →* i5153[8])∧(i5116[10] + 1 →* i5116[8]))
(10) -> (11), if ((i5116[10] + 1 →* i5116[11])∧(java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[11], a17742data[11])))∧(i5153[10] + -1 →* i5153[11]))
(11) -> (12), if ((java.lang.Object(ARRAY(i2[11], a17742data[11])) →* java.lang.Object(ARRAY(i2[12], a17742data[12])))∧(i5116[11] →* i5116[12])∧(java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])) →* java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))∧(i5153[11] →* i5153[12]))
(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17742data[12])) →* java.lang.Object(ARRAY(i2[13], a17742data[13])))∧(java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])) →* java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13])))∧(i5153[12] →* i5153[13])∧(i5116[12] →* i5116[13])∧(i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i5153[13] →* i5153[3])∧(i5116[13] + 1 →* i5375[3])∧(java.lang.Object(ARRAY(i2[13], a17742data[13])) →* java.lang.Object(ARRAY(i2[3], a17742data[3]))))
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(67) 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.
(68) 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):
LOAD15633(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0]) →
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0])
(1):
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1]) →
COND_LOAD15633ARR17(
i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1])
(2):
COND_LOAD15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2],
i5153[2]) →
INC19833(
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2] + 1,
i5153[2])
(3):
JMP19898'(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3]) →
INC19833(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3])
(4):
LOAD15633(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4]) →
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4],
java.lang.Object(
java.lang.String(
i5990[4],
i5631[4],
i5633[4],
a19188[4])))
(5):
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5]))) →
COND_LOAD15633ARR18(
i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5])))
(6):
COND_LOAD15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6],
i5153[6],
java.lang.Object(
java.lang.String(
i5990[6],
i5631[6],
i5633[6],
a19188[6]))) →
INC19833(
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6] + 1,
i5153[6])
(7):
INC19833(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7] + -1)
(8):
LOAD15633(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8]) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8])
(9):
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9]) →
COND_LOAD15633ARR19(
i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9])
(10):
COND_LOAD15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10],
i5153[10]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10] + 1,
i5153[10] + -1)
(11):
LOAD15633(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11]) →
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11],
java.lang.Object(
java.lang.String(
i5990[11],
i5631[11],
i5633[11],
a19188[11])))
(12):
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12]))) →
COND_LOAD15633ARR21(
i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12])))
(13):
COND_LOAD15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13],
i5153[13],
java.lang.Object(
java.lang.String(
i5990[13],
i5631[13],
i5633[13],
a19188[13]))) →
JMP19898'(
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13] + 1,
i5153[13])
(0) -> (1), if ((i5153[0] →* i5153[1])∧(i5116[0] →* i5116[1])∧(java.lang.Object(ARRAY(i2[0], a17742data[0])) →* java.lang.Object(ARRAY(i2[1], a17742data[1]))))
(1) -> (2), if ((i5153[1] →* i5153[2])∧(i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0 →* TRUE)∧(i5116[1] →* i5116[2])∧(java.lang.Object(ARRAY(i2[1], a17742data[1])) →* java.lang.Object(ARRAY(i2[2], a17742data[2]))))
(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17742data[2])) →* java.lang.Object(ARRAY(i2[7], a17742data[7])))∧(i5116[2] + 1 →* i5375[7])∧(i5153[2] →* i5153[7]))
(3) -> (7), if ((i5375[3] →* i5375[7])∧(java.lang.Object(ARRAY(i2[3], a17742data[3])) →* java.lang.Object(ARRAY(i2[7], a17742data[7])))∧(i5153[3] →* i5153[7]))
(4) -> (5), if ((i5153[4] →* i5153[5])∧(java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])) →* java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))∧(i5116[4] →* i5116[5])∧(java.lang.Object(ARRAY(i2[4], a17742data[4])) →* java.lang.Object(ARRAY(i2[5], a17742data[5]))))
(5) -> (6), if ((i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0 →* TRUE)∧(i5153[5] →* i5153[6])∧(i5116[5] →* i5116[6])∧(java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])) →* java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6])))∧(java.lang.Object(ARRAY(i2[5], a17742data[5])) →* java.lang.Object(ARRAY(i2[6], a17742data[6]))))
(6) -> (7), if ((i5153[6] →* i5153[7])∧(i5116[6] + 1 →* i5375[7])∧(java.lang.Object(ARRAY(i2[6], a17742data[6])) →* java.lang.Object(ARRAY(i2[7], a17742data[7]))))
(7) -> (0), if ((i5375[7] →* i5116[0])∧(i5153[7] + -1 →* i5153[0])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[0], a17742data[0]))))
(7) -> (4), if ((i5153[7] + -1 →* i5153[4])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[4], a17742data[4])))∧(i5375[7] →* i5116[4]))
(7) -> (8), if ((i5153[7] + -1 →* i5153[8])∧(i5375[7] →* i5116[8])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[8], a17742data[8]))))
(7) -> (11), if ((i5153[7] + -1 →* i5153[11])∧(java.lang.Object(ARRAY(i2[7], a17742data[7])) →* java.lang.Object(ARRAY(i2[11], a17742data[11])))∧(i5375[7] →* i5116[11]))
(8) -> (9), if ((i5116[8] →* i5116[9])∧(java.lang.Object(ARRAY(i2[8], a17742data[8])) →* java.lang.Object(ARRAY(i2[9], a17742data[9])))∧(i5153[8] →* i5153[9]))
(9) -> (10), if ((i5116[9] →* i5116[10])∧(i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0 →* TRUE)∧(i5153[9] →* i5153[10])∧(java.lang.Object(ARRAY(i2[9], a17742data[9])) →* java.lang.Object(ARRAY(i2[10], a17742data[10]))))
(10) -> (0), if ((i5153[10] + -1 →* i5153[0])∧(i5116[10] + 1 →* i5116[0])∧(java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[0], a17742data[0]))))
(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[4], a17742data[4])))∧(i5153[10] + -1 →* i5153[4])∧(i5116[10] + 1 →* i5116[4]))
(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[8], a17742data[8])))∧(i5153[10] + -1 →* i5153[8])∧(i5116[10] + 1 →* i5116[8]))
(10) -> (11), if ((i5116[10] + 1 →* i5116[11])∧(java.lang.Object(ARRAY(i2[10], a17742data[10])) →* java.lang.Object(ARRAY(i2[11], a17742data[11])))∧(i5153[10] + -1 →* i5153[11]))
(11) -> (12), if ((java.lang.Object(ARRAY(i2[11], a17742data[11])) →* java.lang.Object(ARRAY(i2[12], a17742data[12])))∧(i5116[11] →* i5116[12])∧(java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])) →* java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))∧(i5153[11] →* i5153[12]))
(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17742data[12])) →* java.lang.Object(ARRAY(i2[13], a17742data[13])))∧(java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])) →* java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13])))∧(i5153[12] →* i5153[13])∧(i5116[12] →* i5116[13])∧(i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i5153[13] →* i5153[3])∧(i5116[13] + 1 →* i5375[3])∧(java.lang.Object(ARRAY(i2[13], a17742data[13])) →* java.lang.Object(ARRAY(i2[3], a17742data[3]))))
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(69) ItpfGraphProof (EQUIVALENT transformation)
Applied rule ItpfICap [ICap]
(70) 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):
LOAD15633(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0]) →
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0])
(1):
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1]) →
COND_LOAD15633ARR17(
i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0,
java.lang.Object(
ARRAY(
i2[1],
a17742data[1])),
i5116[1],
i5153[1])
(2):
COND_LOAD15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2],
i5153[2]) →
INC19833(
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2] + 1,
i5153[2])
(3):
JMP19898'(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3]) →
INC19833(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3])
(4):
LOAD15633(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4]) →
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4],
java.lang.Object(
java.lang.String(
i5990[4],
i5631[4],
i5633[4],
a19188[4])))
(5):
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5]))) →
COND_LOAD15633ARR18(
i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5])))
(6):
COND_LOAD15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6],
i5153[6],
java.lang.Object(
java.lang.String(
i5990[6],
i5631[6],
i5633[6],
a19188[6]))) →
INC19833(
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6] + 1,
i5153[6])
(7):
INC19833(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7] + -1)
(8):
LOAD15633(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8]) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8])
(9):
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9]) →
COND_LOAD15633ARR19(
i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0,
java.lang.Object(
ARRAY(
i2[9],
a17742data[9])),
i5116[9],
i5153[9])
(10):
COND_LOAD15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10],
i5153[10]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10] + 1,
i5153[10] + -1)
(11):
LOAD15633(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11]) →
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11],
java.lang.Object(
java.lang.String(
i5990[11],
i5631[11],
i5633[11],
a19188[11])))
(12):
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12]))) →
COND_LOAD15633ARR21(
i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12])))
(13):
COND_LOAD15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13],
i5153[13],
java.lang.Object(
java.lang.String(
i5990[13],
i5631[13],
i5633[13],
a19188[13]))) →
JMP19898'(
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13] + 1,
i5153[13])
(0) -> (1), if ((i5153[0] →* i5153[1])∧(i5116[0] →* i5116[1])∧((i2[0] →* i2[1])∧(a17742data[0] →* a17742data[1])))
(1) -> (2), if ((i5153[1] →* i5153[2])∧(i5116[1] > 0 && i5116[1] < i2[1] && i5153[1] > 0 && i5116[1] + 1 > 0 →* TRUE)∧(i5116[1] →* i5116[2])∧((i2[1] →* i2[2])∧(a17742data[1] →* a17742data[2])))
(2) -> (7), if (((i2[2] →* i2[7])∧(a17742data[2] →* a17742data[7]))∧(i5116[2] + 1 →* i5375[7])∧(i5153[2] →* i5153[7]))
(3) -> (7), if ((i5375[3] →* i5375[7])∧((i2[3] →* i2[7])∧(a17742data[3] →* a17742data[7]))∧(i5153[3] →* i5153[7]))
(4) -> (5), if ((i5153[4] →* i5153[5])∧((i5990[4] →* i5990[5])∧(i5631[4] →* i5631[5])∧(i5633[4] →* i5633[5])∧(a19188[4] →* a19188[5]))∧(i5116[4] →* i5116[5])∧((i2[4] →* i2[5])∧(a17742data[4] →* a17742data[5])))
(5) -> (6), if ((i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0 →* TRUE)∧(i5153[5] →* i5153[6])∧(i5116[5] →* i5116[6])∧((i5990[5] →* i5990[6])∧(i5631[5] →* i5631[6])∧(i5633[5] →* i5633[6])∧(a19188[5] →* a19188[6]))∧((i2[5] →* i2[6])∧(a17742data[5] →* a17742data[6])))
(6) -> (7), if ((i5153[6] →* i5153[7])∧(i5116[6] + 1 →* i5375[7])∧((i2[6] →* i2[7])∧(a17742data[6] →* a17742data[7])))
(7) -> (0), if ((i5375[7] →* i5116[0])∧(i5153[7] + -1 →* i5153[0])∧((i2[7] →* i2[0])∧(a17742data[7] →* a17742data[0])))
(7) -> (4), if ((i5153[7] + -1 →* i5153[4])∧((i2[7] →* i2[4])∧(a17742data[7] →* a17742data[4]))∧(i5375[7] →* i5116[4]))
(7) -> (8), if ((i5153[7] + -1 →* i5153[8])∧(i5375[7] →* i5116[8])∧((i2[7] →* i2[8])∧(a17742data[7] →* a17742data[8])))
(7) -> (11), if ((i5153[7] + -1 →* i5153[11])∧((i2[7] →* i2[11])∧(a17742data[7] →* a17742data[11]))∧(i5375[7] →* i5116[11]))
(8) -> (9), if ((i5116[8] →* i5116[9])∧((i2[8] →* i2[9])∧(a17742data[8] →* a17742data[9]))∧(i5153[8] →* i5153[9]))
(9) -> (10), if ((i5116[9] →* i5116[10])∧(i5116[9] > 0 && i5116[9] < i2[9] && i5153[9] > 0 && i5116[9] + 1 > 0 →* TRUE)∧(i5153[9] →* i5153[10])∧((i2[9] →* i2[10])∧(a17742data[9] →* a17742data[10])))
(10) -> (0), if ((i5153[10] + -1 →* i5153[0])∧(i5116[10] + 1 →* i5116[0])∧((i2[10] →* i2[0])∧(a17742data[10] →* a17742data[0])))
(10) -> (4), if (((i2[10] →* i2[4])∧(a17742data[10] →* a17742data[4]))∧(i5153[10] + -1 →* i5153[4])∧(i5116[10] + 1 →* i5116[4]))
(10) -> (8), if (((i2[10] →* i2[8])∧(a17742data[10] →* a17742data[8]))∧(i5153[10] + -1 →* i5153[8])∧(i5116[10] + 1 →* i5116[8]))
(10) -> (11), if ((i5116[10] + 1 →* i5116[11])∧((i2[10] →* i2[11])∧(a17742data[10] →* a17742data[11]))∧(i5153[10] + -1 →* i5153[11]))
(11) -> (12), if (((i2[11] →* i2[12])∧(a17742data[11] →* a17742data[12]))∧(i5116[11] →* i5116[12])∧((i5990[11] →* i5990[12])∧(i5631[11] →* i5631[12])∧(i5633[11] →* i5633[12])∧(a19188[11] →* a19188[12]))∧(i5153[11] →* i5153[12]))
(12) -> (13), if (((i2[12] →* i2[13])∧(a17742data[12] →* a17742data[13]))∧((i5990[12] →* i5990[13])∧(i5631[12] →* i5631[13])∧(i5633[12] →* i5633[13])∧(a19188[12] →* a19188[13]))∧(i5153[12] →* i5153[13])∧(i5116[12] →* i5116[13])∧(i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0 →* TRUE))
(13) -> (3), if ((i5153[13] →* i5153[3])∧(i5116[13] + 1 →* i5375[3])∧((i2[13] →* i2[3])∧(a17742data[13] →* a17742data[3])))
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(71) 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
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) the following chains were created:
- We consider the chain LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0]) → LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0]), LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]) → COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]) which results in the following constraint:
(1) (i5153[0]=i5153[1]∧i5116[0]=i5116[1]∧i2[0]=i2[1]∧a17742data[0]=a17742data[1] ⇒ LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])≥LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])∧(UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥))
We simplified constraint (1) using rule (IV) which results in the following new constraint:
(2) (LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])≥LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])∧(UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥))
We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(3) ((UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(4) ((UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(5) ((UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)
We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(6) ((UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
For Pair
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
COND_LOAD15633ARR17(
&&(
&&(
&&(
>(
i5116,
0),
<(
i5116,
i2)),
>(
i5153,
0)),
>(
+(
i5116,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) the following chains were created:
- We consider the chain LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]) → COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]), COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17742data[2])), i5116[2], i5153[2]) → INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2]) which results in the following constraint:
(7) (i5153[1]=i5153[2]∧&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0))=TRUE∧i5116[1]=i5116[2]∧i2[1]=i2[2]∧a17742data[1]=a17742data[2] ⇒ LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])≥NonInfC∧LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])≥COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])∧(UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥))
We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(8) (>(+(i5116[1], 1), 0)=TRUE∧>(i5153[1], 0)=TRUE∧>(i5116[1], 0)=TRUE∧<(i5116[1], i2[1])=TRUE ⇒ LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])≥NonInfC∧LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])≥COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])∧(UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥))
We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(9) (i5116[1] ≥ 0∧i5153[1] + [-1] ≥ 0∧i5116[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(10) (i5116[1] ≥ 0∧i5153[1] + [-1] ≥ 0∧i5116[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(11) (i5116[1] ≥ 0∧i5153[1] + [-1] ≥ 0∧i5116[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(12) (i5116[1] ≥ 0∧i5153[1] + [-1] ≥ 0∧i5116[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(13) ([1] + i5116[1] ≥ 0∧i5153[1] + [-1] ≥ 0∧i5116[1] ≥ 0∧i2[1] + [-2] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(14) ([1] + i5116[1] ≥ 0∧i5153[1] ≥ 0∧i5116[1] ≥ 0∧i2[1] + [-2] + [-1]i5116[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] + [(-1)bni_26]i5116[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(15) ([1] + i5116[1] ≥ 0∧i5153[1] ≥ 0∧i5116[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
For Pair
COND_LOAD15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
INC19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
+(
i5116,
1),
i5153) the following chains were created:
- We consider the chain COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17742data[2])), i5116[2], i5153[2]) → INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2]) which results in the following constraint:
(16) (COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17742data[2])), i5116[2], i5153[2])≥NonInfC∧COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17742data[2])), i5116[2], i5153[2])≥INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])∧(UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥))
We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(17) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(18) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(19) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)
We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(20) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
For Pair
JMP19898'(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
INC19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) the following chains were created:
- We consider the chain JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3]) → INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3]), INC19833(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], i5153[7]) → LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1)) which results in the following constraint:
(21) (i5375[3]=i5375[7]∧i2[3]=i2[7]∧a17742data[3]=a17742data[7]∧i5153[3]=i5153[7] ⇒ JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])≥NonInfC∧JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])≥INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])∧(UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥))
We simplified constraint (21) using rule (IV) which results in the following new constraint:
(22) (JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])≥NonInfC∧JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])≥INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])∧(UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥))
We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(23) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(24) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(25) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥)∧[(-1)bso_31] ≥ 0)
We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(26) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
For Pair
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) the following chains were created:
- We consider the chain LOAD15633(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4]) → LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4]))) which results in the following constraint:
(27) (LOAD15633(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4])≥LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))∧(UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
For Pair
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
COND_LOAD15633ARR18(
&&(
&&(
&&(
&&(
>(
i5990,
0),
>(
i5116,
0)),
<(
i5116,
i2)),
>(
i5153,
0)),
>(
+(
i5116,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) the following chains were created:
- We consider the chain LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5]))) → COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5]))), COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17742data[6])), i5116[6], i5153[6], java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6]))) → INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6]) which results in the following constraint:
(32) (&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0))=TRUE∧i5153[5]=i5153[6]∧i5116[5]=i5116[6]∧i5990[5]=i5990[6]∧i5631[5]=i5631[6]∧i5633[5]=i5633[6]∧a19188[5]=a19188[6]∧i2[5]=i2[6]∧a17742data[5]=a17742data[6] ⇒ LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))≥NonInfC∧LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))≥COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))∧(UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥))
We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(33) (>(+(i5116[5], 1), 0)=TRUE∧>(i5153[5], 0)=TRUE∧<(i5116[5], i2[5])=TRUE∧>(i5990[5], 0)=TRUE∧>(i5116[5], 0)=TRUE ⇒ LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))≥NonInfC∧LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))≥COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))∧(UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (i5116[5] ≥ 0∧i5153[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (i5116[5] ≥ 0∧i5153[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (i5116[5] ≥ 0∧i5153[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(37) (i5116[5] ≥ 0∧i5153[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(38) ([1] + i5116[5] ≥ 0∧i5153[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(39) ([1] + i5116[5] ≥ 0∧i5153[5] ≥ 0∧i2[5] + [-2] + [-1]i5116[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] + [(-1)bni_34]i5116[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(40) ([1] + i5116[5] ≥ 0∧i5153[5] ≥ 0∧i2[5] ≥ 0∧i5990[5] + [-1] ≥ 0∧i5116[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(41) ([1] + i5116[5] ≥ 0∧i5153[5] ≥ 0∧i2[5] ≥ 0∧i5990[5] ≥ 0∧i5116[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
For Pair
COND_LOAD15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
INC19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
+(
i5116,
1),
i5153) the following chains were created:
- We consider the chain COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17742data[6])), i5116[6], i5153[6], java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6]))) → INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6]) which results in the following constraint:
(42) (COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17742data[6])), i5116[6], i5153[6], java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6])))≥NonInfC∧COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17742data[6])), i5116[6], i5153[6], java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6])))≥INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])∧(UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥))
We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(43) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(44) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(45) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)
We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(46) ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
For Pair
INC19833(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
i5153) →
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5375,
+(
i5153,
-1)) the following chains were created:
- We consider the chain INC19833(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], i5153[7]) → LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1)) which results in the following constraint:
(47) (INC19833(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], i5153[7])≥NonInfC∧INC19833(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], i5153[7])≥LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))∧(UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥))
We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(48) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(49) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(50) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)
We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(51) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
For Pair
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) the following chains were created:
- We consider the chain LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8]) → LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8]), LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]) → COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]) which results in the following constraint:
(52) (i5116[8]=i5116[9]∧i2[8]=i2[9]∧a17742data[8]=a17742data[9]∧i5153[8]=i5153[9] ⇒ LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])≥LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])∧(UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥))
We simplified constraint (52) using rule (IV) which results in the following new constraint:
(53) (LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])≥LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])∧(UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥))
We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(54) ((UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(55) ((UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(56) ((UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥)∧[(-1)bso_41] ≥ 0)
We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(57) ((UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
For Pair
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
COND_LOAD15633ARR19(
&&(
&&(
&&(
>(
i5116,
0),
<(
i5116,
i2)),
>(
i5153,
0)),
>(
+(
i5116,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) the following chains were created:
- We consider the chain LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]) → COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]), COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17742data[10])), i5116[10], i5153[10]) → LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1)) which results in the following constraint:
(58) (i5116[9]=i5116[10]∧&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0))=TRUE∧i5153[9]=i5153[10]∧i2[9]=i2[10]∧a17742data[9]=a17742data[10] ⇒ LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])≥NonInfC∧LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])≥COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])∧(UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥))
We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(59) (>(+(i5116[9], 1), 0)=TRUE∧>(i5153[9], 0)=TRUE∧>(i5116[9], 0)=TRUE∧<(i5116[9], i2[9])=TRUE ⇒ LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])≥NonInfC∧LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])≥COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])∧(UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥))
We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(60) (i5116[9] ≥ 0∧i5153[9] + [-1] ≥ 0∧i5116[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(61) (i5116[9] ≥ 0∧i5153[9] + [-1] ≥ 0∧i5116[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(62) (i5116[9] ≥ 0∧i5153[9] + [-1] ≥ 0∧i5116[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(63) (i5116[9] ≥ 0∧i5153[9] + [-1] ≥ 0∧i5116[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(64) ([1] + i5116[9] ≥ 0∧i5153[9] + [-1] ≥ 0∧i5116[9] ≥ 0∧i2[9] + [-2] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(65) ([1] + i5116[9] ≥ 0∧i5153[9] ≥ 0∧i5116[9] ≥ 0∧i2[9] + [-2] + [-1]i5116[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [(-1)bni_42]i5116[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(66) ([1] + i5116[9] ≥ 0∧i5153[9] ≥ 0∧i5116[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
For Pair
COND_LOAD15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
+(
i5116,
1),
+(
i5153,
-1)) the following chains were created:
- We consider the chain COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17742data[10])), i5116[10], i5153[10]) → LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1)) which results in the following constraint:
(67) (COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17742data[10])), i5116[10], i5153[10])≥NonInfC∧COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17742data[10])), i5116[10], i5153[10])≥LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))∧(UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥))
We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(68) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(69) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(70) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(71) ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
For Pair
LOAD15633(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153) →
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) the following chains were created:
- We consider the chain LOAD15633(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11]) → LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11]))) which results in the following constraint:
(72) (LOAD15633(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11])≥NonInfC∧LOAD15633(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11])≥LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))∧(UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥))
We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(73) ((UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(74) ((UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(75) ((UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)
We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(76) ((UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
For Pair
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
COND_LOAD15633ARR21(
&&(
&&(
&&(
&&(
>(
i5990,
0),
>(
i5116,
0)),
<(
i5116,
i2)),
>(
i5153,
0)),
>(
+(
i5116,
1),
0)),
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) the following chains were created:
- We consider the chain LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12]))) → COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12]))), COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17742data[13])), i5116[13], i5153[13], java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13]))) → JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13]) which results in the following constraint:
(77) (i2[12]=i2[13]∧a17742data[12]=a17742data[13]∧i5990[12]=i5990[13]∧i5631[12]=i5631[13]∧i5633[12]=i5633[13]∧a19188[12]=a19188[13]∧i5153[12]=i5153[13]∧i5116[12]=i5116[13]∧&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0))=TRUE ⇒ LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))≥NonInfC∧LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))≥COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))∧(UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥))
We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:
(78) (>(+(i5116[12], 1), 0)=TRUE∧>(i5153[12], 0)=TRUE∧<(i5116[12], i2[12])=TRUE∧>(i5990[12], 0)=TRUE∧>(i5116[12], 0)=TRUE ⇒ LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))≥NonInfC∧LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))≥COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))∧(UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥))
We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(79) (i5116[12] ≥ 0∧i5153[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(80) (i5116[12] ≥ 0∧i5153[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(81) (i5116[12] ≥ 0∧i5153[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(82) (i5116[12] ≥ 0∧i5153[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(83) ([1] + i5116[12] ≥ 0∧i5153[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(84) ([1] + i5116[12] ≥ 0∧i5153[12] ≥ 0∧i2[12] + [-2] + [-1]i5116[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i5153[12] + [(-1)bni_48]i5116[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(85) ([1] + i5116[12] ≥ 0∧i5153[12] ≥ 0∧i2[12] ≥ 0∧i5990[12] + [-1] ≥ 0∧i5116[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i5153[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(86) ([1] + i5116[12] ≥ 0∧i5153[12] ≥ 0∧i2[12] ≥ 0∧i5990[12] ≥ 0∧i5116[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i5153[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
For Pair
COND_LOAD15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2,
a17742data)),
i5116,
i5153,
java.lang.Object(
java.lang.String(
i5990,
i5631,
i5633,
a19188))) →
JMP19898'(
java.lang.Object(
ARRAY(
i2,
a17742data)),
+(
i5116,
1),
i5153) the following chains were created:
- We consider the chain COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17742data[13])), i5116[13], i5153[13], java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13]))) → JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13]) which results in the following constraint:
(87) (COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17742data[13])), i5116[13], i5153[13], java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13])))≥NonInfC∧COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17742data[13])), i5116[13], i5153[13], java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13])))≥JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])∧(UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥))
We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(88) ((UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(89) ((UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(90) ((UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)
We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(91) ((UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → LOAD15633ARR17(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153)
- ((UIncreasing(LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)
- LOAD15633ARR17(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → COND_LOAD15633ARR17(&&(&&(&&(>(i5116, 0), <(i5116, i2)), >(i5153, 0)), >(+(i5116, 1), 0)), java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153)
- ([1] + i5116[1] ≥ 0∧i5153[1] ≥ 0∧i5116[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i5153[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
- COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → INC19833(java.lang.Object(ARRAY(i2, a17742data)), +(i5116, 1), i5153)
- ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)
- JMP19898'(java.lang.Object(ARRAY(i2, a17742data)), i5375, i5153) → INC19833(java.lang.Object(ARRAY(i2, a17742data)), i5375, i5153)
- ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)
- LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → LOAD15633ARR18(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188)))
- ((UIncreasing(LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)
- LOAD15633ARR18(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188))) → COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990, 0), >(i5116, 0)), <(i5116, i2)), >(i5153, 0)), >(+(i5116, 1), 0)), java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188)))
- ([1] + i5116[5] ≥ 0∧i5153[5] ≥ 0∧i2[5] ≥ 0∧i5990[5] ≥ 0∧i5116[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i5153[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)
- COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188))) → INC19833(java.lang.Object(ARRAY(i2, a17742data)), +(i5116, 1), i5153)
- ((UIncreasing(INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)
- INC19833(java.lang.Object(ARRAY(i2, a17742data)), i5375, i5153) → LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), i5375, +(i5153, -1))
- ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)
- LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → LOAD15633ARR19(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153)
- ((UIncreasing(LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)
- LOAD15633ARR19(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → COND_LOAD15633ARR19(&&(&&(&&(>(i5116, 0), <(i5116, i2)), >(i5153, 0)), >(+(i5116, 1), 0)), java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153)
- ([1] + i5116[9] ≥ 0∧i5153[9] ≥ 0∧i5116[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i5153[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)
- COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), +(i5116, 1), +(i5153, -1))
- ((UIncreasing(LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
- LOAD15633(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153) → LOAD15633ARR21(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188)))
- ((UIncreasing(LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)
- LOAD15633ARR21(java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188))) → COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990, 0), >(i5116, 0)), <(i5116, i2)), >(i5153, 0)), >(+(i5116, 1), 0)), java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188)))
- ([1] + i5116[12] ≥ 0∧i5153[12] ≥ 0∧i2[12] ≥ 0∧i5990[12] ≥ 0∧i5116[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i5153[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
- COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2, a17742data)), i5116, i5153, java.lang.Object(java.lang.String(i5990, i5631, i5633, a19188))) → JMP19898'(java.lang.Object(ARRAY(i2, a17742data)), +(i5116, 1), i5153)
- ((UIncreasing(JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 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(LOAD15633(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1, x2)) = [-1] + [-1]x1
POL(LOAD15633ARR17(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2
POL(COND_LOAD15633ARR17(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(0) = 0
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(INC19833(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(JMP19898'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(LOAD15633ARR18(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1
POL(COND_LOAD15633ARR18(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3
POL(-1) = [-1]
POL(LOAD15633ARR19(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD15633ARR19(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
POL(LOAD15633ARR21(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1
POL(COND_LOAD15633ARR21(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2
The following pairs are in P
>:
LOAD15633(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0]) → LOAD15633ARR17(java.lang.Object(ARRAY(i2[0], a17742data[0])), i5116[0], i5153[0])
LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]) → COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])
COND_LOAD15633ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17742data[2])), i5116[2], i5153[2]) → INC19833(java.lang.Object(ARRAY(i2[2], a17742data[2])), +(i5116[2], 1), i5153[2])
LOAD15633(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4]) → LOAD15633ARR18(java.lang.Object(ARRAY(i2[4], a17742data[4])), i5116[4], i5153[4], java.lang.Object(java.lang.String(i5990[4], i5631[4], i5633[4], a19188[4])))
COND_LOAD15633ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17742data[6])), i5116[6], i5153[6], java.lang.Object(java.lang.String(i5990[6], i5631[6], i5633[6], a19188[6]))) → INC19833(java.lang.Object(ARRAY(i2[6], a17742data[6])), +(i5116[6], 1), i5153[6])
LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]) → COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])
COND_LOAD15633ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17742data[10])), i5116[10], i5153[10]) → LOAD15633(java.lang.Object(ARRAY(i2[10], a17742data[10])), +(i5116[10], 1), +(i5153[10], -1))
LOAD15633(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11]) → LOAD15633ARR21(java.lang.Object(ARRAY(i2[11], a17742data[11])), i5116[11], i5153[11], java.lang.Object(java.lang.String(i5990[11], i5631[11], i5633[11], a19188[11])))
COND_LOAD15633ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17742data[13])), i5116[13], i5153[13], java.lang.Object(java.lang.String(i5990[13], i5631[13], i5633[13], a19188[13]))) → JMP19898'(java.lang.Object(ARRAY(i2[13], a17742data[13])), +(i5116[13], 1), i5153[13])
The following pairs are in P
bound:
LOAD15633ARR17(java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1]) → COND_LOAD15633ARR17(&&(&&(&&(>(i5116[1], 0), <(i5116[1], i2[1])), >(i5153[1], 0)), >(+(i5116[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17742data[1])), i5116[1], i5153[1])
LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5]))) → COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))
LOAD15633ARR19(java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9]) → COND_LOAD15633ARR19(&&(&&(&&(>(i5116[9], 0), <(i5116[9], i2[9])), >(i5153[9], 0)), >(+(i5116[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17742data[9])), i5116[9], i5153[9])
LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12]))) → COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))
The following pairs are in P
≥:
JMP19898'(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3]) → INC19833(java.lang.Object(ARRAY(i2[3], a17742data[3])), i5375[3], i5153[3])
LOAD15633ARR18(java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5]))) → COND_LOAD15633ARR18(&&(&&(&&(&&(>(i5990[5], 0), >(i5116[5], 0)), <(i5116[5], i2[5])), >(i5153[5], 0)), >(+(i5116[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17742data[5])), i5116[5], i5153[5], java.lang.Object(java.lang.String(i5990[5], i5631[5], i5633[5], a19188[5])))
INC19833(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], i5153[7]) → LOAD15633(java.lang.Object(ARRAY(i2[7], a17742data[7])), i5375[7], +(i5153[7], -1))
LOAD15633(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8]) → LOAD15633ARR19(java.lang.Object(ARRAY(i2[8], a17742data[8])), i5116[8], i5153[8])
LOAD15633ARR21(java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12]))) → COND_LOAD15633ARR21(&&(&&(&&(&&(>(i5990[12], 0), >(i5116[12], 0)), <(i5116[12], i2[12])), >(i5153[12], 0)), >(+(i5116[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17742data[12])), i5116[12], i5153[12], java.lang.Object(java.lang.String(i5990[12], i5631[12], i5633[12], a19188[12])))
There are no usable rules.
(72) Complex Obligation (AND)
(73) 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:
(3):
JMP19898'(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3]) →
INC19833(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3])
(5):
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5]))) →
COND_LOAD15633ARR18(
i5990[5] > 0 && i5116[5] > 0 && i5116[5] < i2[5] && i5153[5] > 0 && i5116[5] + 1 > 0,
java.lang.Object(
ARRAY(
i2[5],
a17742data[5])),
i5116[5],
i5153[5],
java.lang.Object(
java.lang.String(
i5990[5],
i5631[5],
i5633[5],
a19188[5])))
(7):
INC19833(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7] + -1)
(8):
LOAD15633(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8]) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8])
(12):
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12]))) →
COND_LOAD15633ARR21(
i5990[12] > 0 && i5116[12] > 0 && i5116[12] < i2[12] && i5153[12] > 0 && i5116[12] + 1 > 0,
java.lang.Object(
ARRAY(
i2[12],
a17742data[12])),
i5116[12],
i5153[12],
java.lang.Object(
java.lang.String(
i5990[12],
i5631[12],
i5633[12],
a19188[12])))
(3) -> (7), if ((i5375[3] →* i5375[7])∧((i2[3] →* i2[7])∧(a17742data[3] →* a17742data[7]))∧(i5153[3] →* i5153[7]))
(7) -> (8), if ((i5153[7] + -1 →* i5153[8])∧(i5375[7] →* i5116[8])∧((i2[7] →* i2[8])∧(a17742data[7] →* a17742data[8])))
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(74) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.
(75) TRUE
(76) 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):
LOAD15633(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0]) →
LOAD15633ARR17(
java.lang.Object(
ARRAY(
i2[0],
a17742data[0])),
i5116[0],
i5153[0])
(2):
COND_LOAD15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2],
i5153[2]) →
INC19833(
java.lang.Object(
ARRAY(
i2[2],
a17742data[2])),
i5116[2] + 1,
i5153[2])
(3):
JMP19898'(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3]) →
INC19833(
java.lang.Object(
ARRAY(
i2[3],
a17742data[3])),
i5375[3],
i5153[3])
(4):
LOAD15633(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4]) →
LOAD15633ARR18(
java.lang.Object(
ARRAY(
i2[4],
a17742data[4])),
i5116[4],
i5153[4],
java.lang.Object(
java.lang.String(
i5990[4],
i5631[4],
i5633[4],
a19188[4])))
(6):
COND_LOAD15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6],
i5153[6],
java.lang.Object(
java.lang.String(
i5990[6],
i5631[6],
i5633[6],
a19188[6]))) →
INC19833(
java.lang.Object(
ARRAY(
i2[6],
a17742data[6])),
i5116[6] + 1,
i5153[6])
(7):
INC19833(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[7],
a17742data[7])),
i5375[7],
i5153[7] + -1)
(8):
LOAD15633(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8]) →
LOAD15633ARR19(
java.lang.Object(
ARRAY(
i2[8],
a17742data[8])),
i5116[8],
i5153[8])
(10):
COND_LOAD15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10],
i5153[10]) →
LOAD15633(
java.lang.Object(
ARRAY(
i2[10],
a17742data[10])),
i5116[10] + 1,
i5153[10] + -1)
(11):
LOAD15633(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11]) →
LOAD15633ARR21(
java.lang.Object(
ARRAY(
i2[11],
a17742data[11])),
i5116[11],
i5153[11],
java.lang.Object(
java.lang.String(
i5990[11],
i5631[11],
i5633[11],
a19188[11])))
(13):
COND_LOAD15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13],
i5153[13],
java.lang.Object(
java.lang.String(
i5990[13],
i5631[13],
i5633[13],
a19188[13]))) →
JMP19898'(
java.lang.Object(
ARRAY(
i2[13],
a17742data[13])),
i5116[13] + 1,
i5153[13])
(7) -> (0), if ((i5375[7] →* i5116[0])∧(i5153[7] + -1 →* i5153[0])∧((i2[7] →* i2[0])∧(a17742data[7] →* a17742data[0])))
(10) -> (0), if ((i5153[10] + -1 →* i5153[0])∧(i5116[10] + 1 →* i5116[0])∧((i2[10] →* i2[0])∧(a17742data[10] →* a17742data[0])))
(13) -> (3), if ((i5153[13] →* i5153[3])∧(i5116[13] + 1 →* i5375[3])∧((i2[13] →* i2[3])∧(a17742data[13] →* a17742data[3])))
(7) -> (4), if ((i5153[7] + -1 →* i5153[4])∧((i2[7] →* i2[4])∧(a17742data[7] →* a17742data[4]))∧(i5375[7] →* i5116[4]))
(10) -> (4), if (((i2[10] →* i2[4])∧(a17742data[10] →* a17742data[4]))∧(i5153[10] + -1 →* i5153[4])∧(i5116[10] + 1 →* i5116[4]))
(2) -> (7), if (((i2[2] →* i2[7])∧(a17742data[2] →* a17742data[7]))∧(i5116[2] + 1 →* i5375[7])∧(i5153[2] →* i5153[7]))
(3) -> (7), if ((i5375[3] →* i5375[7])∧((i2[3] →* i2[7])∧(a17742data[3] →* a17742data[7]))∧(i5153[3] →* i5153[7]))
(6) -> (7), if ((i5153[6] →* i5153[7])∧(i5116[6] + 1 →* i5375[7])∧((i2[6] →* i2[7])∧(a17742data[6] →* a17742data[7])))
(7) -> (8), if ((i5153[7] + -1 →* i5153[8])∧(i5375[7] →* i5116[8])∧((i2[7] →* i2[8])∧(a17742data[7] →* a17742data[8])))
(10) -> (8), if (((i2[10] →* i2[8])∧(a17742data[10] →* a17742data[8]))∧(i5153[10] + -1 →* i5153[8])∧(i5116[10] + 1 →* i5116[8]))
(7) -> (11), if ((i5153[7] + -1 →* i5153[11])∧((i2[7] →* i2[11])∧(a17742data[7] →* a17742data[11]))∧(i5375[7] →* i5116[11]))
(10) -> (11), if ((i5116[10] + 1 →* i5116[11])∧((i2[10] →* i2[11])∧(a17742data[10] →* a17742data[11]))∧(i5153[10] + -1 →* i5153[11]))
The set Q consists of the following terms:
Load15633(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR17(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR17(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
JMP19898(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR18(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR18(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Inc19833(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR19(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Cond_Load15633ARR19(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3)
Load15633ARR21(
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
Cond_Load15633ARR21(
TRUE,
java.lang.Object(
ARRAY(
x0,
x1)),
x2,
x3,
java.lang.Object(
java.lang.String(
x4,
x5,
x6,
x7)))
(77) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.
(78) TRUE