### (0) Obligation:

JBC Problem based on JBC Program:

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

### (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)
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:
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)
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:
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)
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:

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)
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:

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:

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.

### (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:

Tree(x1, x2, x3) → Tree
Inc38465(x1, x2, x3, x4, x5) → Inc38465(x1, x2, x3)
JMP38544(x1, x2, x3, x4, x5) → JMP38544(x1, x2, x3)
Cond_Load36680ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR2(x1, x2, x3, x4, x7)
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)
Cond_Load36680ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR4(x1, x2, x3, x4)
Cond_Load36680ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load36680ARR5(x1, x2, x3, x4, x6)
JMP39848(x1, x2, x3, x4) → JMP39848(x1, x2, x3)
Cond_Load36680ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36680ARR6(x1, x2, x3, x4, x7)
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:
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)
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)
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)
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:
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)
Inc39895(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP39799(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)))
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:

### (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:
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)
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:
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)
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)))

### (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:
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)
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:
(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)
(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:
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)
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:
(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)
(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:
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)
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:
(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)
(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:
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)
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:

We simplified constraint (1) using rule (IV) which results in the following new constraint:

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))=TRUEi2[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])=TRUELOAD36680ARR1(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))=TRUEi20728[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)=TRUELOAD36680ARR2(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:

We simplified constraint (52) using rule (IV) which results in the following new constraint:

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))=TRUEi19951[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])=TRUELOAD36680ARR3(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:

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))=TRUEi20728[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)=TRUELOAD36680ARR5(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.
• ((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)

• ((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 Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0
POL(FALSE) = 0
POL(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>:

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 Pbound:

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))
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.

### (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)
(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:
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)
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.

### (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:
(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)
(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:
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)
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.

### (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:

Tree(x1, x2, x3) → Tree
Inc23747(x1, x2, x3, x4, x5) → Inc23747(x1, x2, x3)
JMP23853(x1, x2, x3, x4, x5) → JMP23853(x1, x2, x3)
Cond_Load18470ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR10(x1, x2, x3, x4, x7)
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)
Cond_Load18470ARR12(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR12(x1, x2, x3, x4)
Cond_Load18470ARR13(x1, x2, x3, x4, x5, x6) → Cond_Load18470ARR13(x1, x2, x3, x4, x6)
JMP26084(x1, x2, x3, x4) → JMP26084(x1, x2, x3)
Cond_Load18470ARR14(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18470ARR14(x1, x2, x3, x4, x7)
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:
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)
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)
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)