(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_22 (Sun Microsystems Inc.) Main-Class: QuicksortRec/QuicksortRec
package QuicksortRec;

public class List {

int value;
List next;

public List() {}

public List(int value, List next) {
this.value = value;
this.next = next;
}

public static List copy(List x) {
if (x == null) return null;
else return new List(x.value,copy(x.next));
}

public static String print(List t){
if (t == null) return "";
else return t.value + " " + print(t.next);
}
}


package QuicksortRec;
public class QuicksortRec {
public static List append(List xs, List ys) {
if (xs == null) return ys;
else return append(xs.next, ys);
}

public static List sortedLow(List xs, int n){
if (xs == null) {
return null;
} else if (xs.value <= n) {
return quicksort(new List(xs.value, sortedLow(xs.next,n)));
} else {
return sortedLow(xs.next,n);
}
}

public static List sortedHigh(List xs, int n){
if (xs == null) {
return null;
} else if (xs.value > n) {
return quicksort(new List(xs.value, sortedHigh(xs.next,n)));
} else {
return sortedHigh(xs.next,n);
}
}

public static List quicksort(List xs){
if (xs == null) {
return null;
} else {
List lows = sortedLow(xs.next,xs.value);
List highs = sortedHigh(xs.next,xs.value);
return append(lows,highs);
}
}

public static void main(String[] args) {
Random.args = args;
List xs = createList(Random.random());
List ys = quicksort(xs);
}


public static List createList(int l) {
if (l <= 0) {
return null;
} else {
return new List(Random.random(), createList(l-1));
}
}
}


package QuicksortRec;

public class Random {
static String[] args;
static int index = 0;

public static int random() {
if (args.length <= index) {
return 0;
}
String string = args[index];
index++;
if (string == null) {
return 0;
}
return string.length();
}
}


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
QuicksortRec.QuicksortRec.main([Ljava/lang/String;)V: Graph of 118 nodes with 0 SCCs.

QuicksortRec.QuicksortRec.createList(I)LQuicksortRec/List;: Graph of 148 nodes with 0 SCCs.

QuicksortRec.QuicksortRec.quicksort(LQuicksortRec/List;)LQuicksortRec/List;: Graph of 67 nodes with 0 SCCs.

QuicksortRec.QuicksortRec.sortedLow(LQuicksortRec/List;I)LQuicksortRec/List;: Graph of 88 nodes with 0 SCCs.

QuicksortRec.QuicksortRec.sortedHigh(LQuicksortRec/List;I)LQuicksortRec/List;: Graph of 88 nodes with 0 SCCs.

QuicksortRec.QuicksortRec.append(LQuicksortRec/List;LQuicksortRec/List;)LQuicksortRec/List;: Graph of 5 nodes with 0 SCCs.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 2 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: QuicksortRec.QuicksortRec.quicksort(LQuicksortRec/List;)LQuicksortRec/List;, QuicksortRec.QuicksortRec.sortedLow(LQuicksortRec/List;I)LQuicksortRec/List;, QuicksortRec.QuicksortRec.sortedHigh(LQuicksortRec/List;I)LQuicksortRec/List;
SCC calls the following helper methods: QuicksortRec.QuicksortRec.quicksort(LQuicksortRec/List;)LQuicksortRec/List;, QuicksortRec.QuicksortRec.sortedLow(LQuicksortRec/List;I)LQuicksortRec/List;, QuicksortRec.QuicksortRec.sortedHigh(LQuicksortRec/List;I)LQuicksortRec/List;, QuicksortRec.QuicksortRec.append(LQuicksortRec/List;LQuicksortRec/List;)LQuicksortRec/List;
Performed SCC analyses: UsedFieldsAnalysis

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 186 rules for P and 81 rules for R.


P rules:
2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(o1250sub), java.lang.Object(o1250sub)) → 2229_0_quicksort_NONNULL(EOS(STATIC_2229), java.lang.Object(o1250sub), java.lang.Object(o1250sub))
2229_0_quicksort_NONNULL(EOS(STATIC_2229), java.lang.Object(o1250sub), java.lang.Object(o1250sub)) → 2247_0_quicksort_Load(EOS(STATIC_2247), java.lang.Object(o1250sub))
2247_0_quicksort_Load(EOS(STATIC_2247), java.lang.Object(o1250sub)) → 2258_0_quicksort_FieldAccess(EOS(STATIC_2258), java.lang.Object(o1250sub), java.lang.Object(o1250sub))
2258_0_quicksort_FieldAccess(EOS(STATIC_2258), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240))) → 2270_0_quicksort_FieldAccess(EOS(STATIC_2270), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)))
2270_0_quicksort_FieldAccess(EOS(STATIC_2270), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240))) → 2278_0_quicksort_Load(EOS(STATIC_2278), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306)
2278_0_quicksort_Load(EOS(STATIC_2278), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306) → 2298_0_quicksort_FieldAccess(EOS(STATIC_2298), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306, java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)))
2298_0_quicksort_FieldAccess(EOS(STATIC_2298), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306, java.lang.Object(QuicksortRec.List(EOC, o1306, i1240))) → 2332_0_quicksort_InvokeMethod(EOS(STATIC_2332), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306, i1240)
2332_0_quicksort_InvokeMethod(EOS(STATIC_2332), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306, i1240) → 2337_1_quicksort_InvokeMethod(2337_0_sortedLow_Load(EOS(STATIC_2337), o1306, i1240), java.lang.Object(QuicksortRec.List(EOC, o1306, i1240)), o1306, i1240)
2337_0_sortedLow_Load(EOS(STATIC_2337), o1306, i1240) → 2343_0_sortedLow_Load(EOS(STATIC_2343), o1306, i1240)
2337_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, i1366, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, i1366) → 2398_0_sortedLow_Return(EOS(STATIC_2398), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, i1366, NULL, i1366, NULL)
2337_1_quicksort_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408) → 2472_0_sortedLow_Return(EOS(STATIC_2472), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408, NULL)
2337_1_quicksort_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478) → 2564_0_sortedLow_Return(EOS(STATIC_2564), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478, NULL)
2337_1_quicksort_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633) → 2761_0_sortedLow_Return(EOS(STATIC_2761), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, NULL)
2337_1_quicksort_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719) → 2838_0_sortedLow_Return(EOS(STATIC_2838), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719, NULL)
2337_1_quicksort_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944) → 3051_0_sortedLow_Return(EOS(STATIC_3051), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, NULL)
2343_0_sortedLow_Load(EOS(STATIC_2343), o1306, i1240) → 2355_0_sortedLow_Load(EOS(STATIC_2355), o1306, i1240)
2355_0_sortedLow_Load(EOS(STATIC_2355), o1385, i1323) → 2362_0_sortedLow_NONNULL(EOS(STATIC_2362), o1385, i1323, o1385)
2362_0_sortedLow_NONNULL(EOS(STATIC_2362), java.lang.Object(o1400sub), i1323, java.lang.Object(o1400sub)) → 2365_0_sortedLow_NONNULL(EOS(STATIC_2365), java.lang.Object(o1400sub), i1323, java.lang.Object(o1400sub))
2365_0_sortedLow_NONNULL(EOS(STATIC_2365), java.lang.Object(o1400sub), i1323, java.lang.Object(o1400sub)) → 2372_0_sortedLow_Load(EOS(STATIC_2372), java.lang.Object(o1400sub), i1323)
2372_0_sortedLow_Load(EOS(STATIC_2372), java.lang.Object(o1400sub), i1323) → 2379_0_sortedLow_FieldAccess(EOS(STATIC_2379), java.lang.Object(o1400sub), i1323, java.lang.Object(o1400sub))
2379_0_sortedLow_FieldAccess(EOS(STATIC_2379), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) → 2387_0_sortedLow_FieldAccess(EOS(STATIC_2387), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)))
2387_0_sortedLow_FieldAccess(EOS(STATIC_2387), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) → 2392_0_sortedLow_Load(EOS(STATIC_2392), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361)
2392_0_sortedLow_Load(EOS(STATIC_2392), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361) → 2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323)
2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323) → 2402_0_sortedLow_GT(EOS(STATIC_2402), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323)
2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323) → 2403_0_sortedLow_GT(EOS(STATIC_2403), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323)
2402_0_sortedLow_GT(EOS(STATIC_2402), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323) → 2406_0_sortedLow_Load(EOS(STATIC_2406), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323) | >(i1361, i1323)
2406_0_sortedLow_Load(EOS(STATIC_2406), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323) → 2415_0_sortedLow_FieldAccess(EOS(STATIC_2415), i1323, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)))
2415_0_sortedLow_FieldAccess(EOS(STATIC_2415), i1323, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) → 2427_0_sortedLow_Load(EOS(STATIC_2427), i1323, o1428)
2427_0_sortedLow_Load(EOS(STATIC_2427), i1323, o1428) → 2431_0_sortedLow_InvokeMethod(EOS(STATIC_2431), o1428, i1323)
2431_0_sortedLow_InvokeMethod(EOS(STATIC_2431), o1428, i1323) → 2434_1_sortedLow_InvokeMethod(2434_0_sortedLow_Load(EOS(STATIC_2434), o1428, i1323), o1428, i1323)
2434_0_sortedLow_Load(EOS(STATIC_2434), o1428, i1323) → 2438_0_sortedLow_Load(EOS(STATIC_2438), o1428, i1323)
2438_0_sortedLow_Load(EOS(STATIC_2438), o1428, i1323) → 2355_0_sortedLow_Load(EOS(STATIC_2355), o1428, i1323)
2403_0_sortedLow_GT(EOS(STATIC_2403), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, i1361, i1323) → 2408_0_sortedLow_New(EOS(STATIC_2408), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323) | <=(i1361, i1323)
2408_0_sortedLow_New(EOS(STATIC_2408), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323) → 2416_0_sortedLow_Duplicate(EOS(STATIC_2416), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)))
2416_0_sortedLow_Duplicate(EOS(STATIC_2416), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1))) → 2428_0_sortedLow_Load(EOS(STATIC_2428), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | =(matching1, 0)
2428_0_sortedLow_Load(EOS(STATIC_2428), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2))) → 2432_0_sortedLow_FieldAccess(EOS(STATIC_2432), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) | &&(=(matching1, 0), =(matching2, 0))
2432_0_sortedLow_FieldAccess(EOS(STATIC_2432), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) → 2436_0_sortedLow_Load(EOS(STATIC_2436), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361) | &&(=(matching1, 0), =(matching2, 0))
2436_0_sortedLow_Load(EOS(STATIC_2436), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361) → 2439_0_sortedLow_FieldAccess(EOS(STATIC_2439), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) | &&(=(matching1, 0), =(matching2, 0))
2439_0_sortedLow_FieldAccess(EOS(STATIC_2439), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, o1428, i1361))) → 2442_0_sortedLow_Load(EOS(STATIC_2442), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, o1428) | &&(=(matching1, 0), =(matching2, 0))
2442_0_sortedLow_Load(EOS(STATIC_2442), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, o1428) → 2447_0_sortedLow_InvokeMethod(EOS(STATIC_2447), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, o1428, i1323) | &&(=(matching1, 0), =(matching2, 0))
2447_0_sortedLow_InvokeMethod(EOS(STATIC_2447), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, o1428, i1323) → 2450_1_sortedLow_InvokeMethod(2450_0_sortedLow_Load(EOS(STATIC_2450), o1428, i1323), java.lang.Object(QuicksortRec.List(EOC, o1428, i1361)), i1323, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, o1428, i1323) | &&(=(matching1, 0), =(matching2, 0))
2450_0_sortedLow_Load(EOS(STATIC_2450), o1428, i1323) → 2456_0_sortedLow_Load(EOS(STATIC_2456), o1428, i1323)
2450_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, i1419, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, i1419) → 2474_0_sortedLow_Return(EOS(STATIC_2474), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, i1419, NULL, i1419, NULL) | &&(=(matching1, 0), =(matching2, 0))
2450_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1361)), i1424, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1424) → 2475_0_sortedLow_Return(EOS(STATIC_2475), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1361)), i1424, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1424, NULL) | &&(=(matching1, 0), =(matching2, 0))
2450_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1361)), i1490, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1490) → 2570_0_sortedLow_Return(EOS(STATIC_2570), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1361)), i1490, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1490, NULL) | &&(=(matching1, 0), =(matching2, 0))
2450_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1361)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641) → 2763_0_sortedLow_Return(EOS(STATIC_2763), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1361)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, NULL) | &&(=(matching1, 0), =(matching2, 0))
2450_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1361)), i1731, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1731) → 2845_0_sortedLow_Return(EOS(STATIC_2845), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1361)), i1731, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1731, NULL) | &&(=(matching1, 0), =(matching2, 0))
2450_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1361)), i1954, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954) → 3060_0_sortedLow_Return(EOS(STATIC_3060), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1361)), i1954, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, NULL) | &&(=(matching1, 0), =(matching2, 0))
2456_0_sortedLow_Load(EOS(STATIC_2456), o1428, i1323) → 2355_0_sortedLow_Load(EOS(STATIC_2355), o1428, i1323)
2474_0_sortedLow_Return(EOS(STATIC_2474), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, i1419, NULL, i1419, NULL) → 2483_0_sortedLow_InvokeMethod(EOS(STATIC_2483), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2483_0_sortedLow_InvokeMethod(EOS(STATIC_2483), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL) → 2491_0_<init>_Load(EOS(STATIC_2491), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2491_0_<init>_Load(EOS(STATIC_2491), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL) → 2524_0_<init>_InvokeMethod(EOS(STATIC_2524), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2524_0_<init>_InvokeMethod(EOS(STATIC_2524), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2534_0_<init>_Load(EOS(STATIC_2534), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2534_0_<init>_Load(EOS(STATIC_2534), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL) → 2543_0_<init>_Load(EOS(STATIC_2543), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2543_0_<init>_Load(EOS(STATIC_2543), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2555_0_<init>_FieldAccess(EOS(STATIC_2555), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2555_0_<init>_FieldAccess(EOS(STATIC_2555), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4)), i1361) → 2573_0_<init>_Load(EOS(STATIC_2573), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2573_0_<init>_Load(EOS(STATIC_2573), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) → 2581_0_<init>_Load(EOS(STATIC_2581), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2581_0_<init>_Load(EOS(STATIC_2581), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2589_0_<init>_FieldAccess(EOS(STATIC_2589), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL)
2589_0_<init>_FieldAccess(EOS(STATIC_2589), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) → 2596_0_<init>_Return(EOS(STATIC_2596), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL)
2596_0_<init>_Return(EOS(STATIC_2596), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL) → 2603_0_sortedLow_InvokeMethod(EOS(STATIC_2603), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2603_0_sortedLow_InvokeMethod(EOS(STATIC_2603), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2610_1_sortedLow_InvokeMethod(2610_0_quicksort_Load(EOS(STATIC_2610), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2610_0_quicksort_Load(EOS(STATIC_2610), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2618_0_quicksort_Load(EOS(STATIC_2618), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2618_0_quicksort_Load(EOS(STATIC_2618), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2631_0_quicksort_Load(EOS(STATIC_2631), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2631_0_quicksort_Load(EOS(STATIC_2631), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2643_0_quicksort_Load(EOS(STATIC_2643), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2643_0_quicksort_Load(EOS(STATIC_2643), java.lang.Object(QuicksortRec.List(EOC, NULL, i106))) → 2207_0_quicksort_Load(EOS(STATIC_2207), java.lang.Object(QuicksortRec.List(EOC, NULL, i106)))
2207_0_quicksort_Load(EOS(STATIC_2207), o1217) → 2218_0_quicksort_NONNULL(EOS(STATIC_2218), o1217, o1217)
2475_0_sortedLow_Return(EOS(STATIC_2475), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1361)), i1424, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1424, NULL) → 2522_0_sortedLow_Return(EOS(STATIC_2522), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1361)), i1424, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1423)), i1424, NULL) | &&(=(matching1, 0), =(matching2, 0))
2522_0_sortedLow_Return(EOS(STATIC_2522), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1531, i1463)), i1361)), i1464, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, o1531, i1463)), i1464, NULL) → 2533_0_sortedLow_InvokeMethod(EOS(STATIC_2533), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1531, i1463)), i1361)), i1464, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2533_0_sortedLow_InvokeMethod(EOS(STATIC_2533), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1531, i1463)), i1361)), i1464, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL) → 2813_0_sortedLow_InvokeMethod(EOS(STATIC_2813), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1531, i1463)), i1361)), i1464, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2813_0_sortedLow_InvokeMethod(EOS(STATIC_2813), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL) → 2820_0_<init>_Load(EOS(STATIC_2820), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2820_0_<init>_Load(EOS(STATIC_2820), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL) → 2846_0_<init>_InvokeMethod(EOS(STATIC_2846), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2846_0_<init>_InvokeMethod(EOS(STATIC_2846), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2852_0_<init>_Load(EOS(STATIC_2852), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2852_0_<init>_Load(EOS(STATIC_2852), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL) → 2857_0_<init>_Load(EOS(STATIC_2857), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2857_0_<init>_Load(EOS(STATIC_2857), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2862_0_<init>_FieldAccess(EOS(STATIC_2862), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2862_0_<init>_FieldAccess(EOS(STATIC_2862), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4)), i1361) → 2869_0_<init>_Load(EOS(STATIC_2869), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2869_0_<init>_Load(EOS(STATIC_2869), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) → 2875_0_<init>_Load(EOS(STATIC_2875), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2875_0_<init>_Load(EOS(STATIC_2875), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2883_0_<init>_FieldAccess(EOS(STATIC_2883), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL)
2883_0_<init>_FieldAccess(EOS(STATIC_2883), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), NULL) → 2894_0_<init>_Return(EOS(STATIC_2894), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL)
2894_0_<init>_Return(EOS(STATIC_2894), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)), i1361, NULL) → 2900_0_sortedLow_InvokeMethod(EOS(STATIC_2900), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2900_0_sortedLow_InvokeMethod(EOS(STATIC_2900), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2911_1_sortedLow_InvokeMethod(2911_0_quicksort_Load(EOS(STATIC_2911), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2911_0_quicksort_Load(EOS(STATIC_2911), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2920_0_quicksort_Load(EOS(STATIC_2920), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2920_0_quicksort_Load(EOS(STATIC_2920), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2937_0_quicksort_Load(EOS(STATIC_2937), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2937_0_quicksort_Load(EOS(STATIC_2937), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361))) → 2955_0_quicksort_Load(EOS(STATIC_2955), java.lang.Object(QuicksortRec.List(EOC, NULL, i1361)))
2955_0_quicksort_Load(EOS(STATIC_2955), java.lang.Object(QuicksortRec.List(EOC, NULL, i106))) → 2207_0_quicksort_Load(EOS(STATIC_2207), java.lang.Object(QuicksortRec.List(EOC, NULL, i106)))
2570_0_sortedLow_Return(EOS(STATIC_2570), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1361)), i1490, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1490, NULL) → 2522_0_sortedLow_Return(EOS(STATIC_2522), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1361)), i1490, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1573, i1488)), i1489)), i1490, NULL) | &&(=(matching1, 0), =(matching2, 0))
2763_0_sortedLow_Return(EOS(STATIC_2763), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1361)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, NULL) → 2798_0_sortedLow_Return(EOS(STATIC_2798), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1361)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, java.lang.Object(QuicksortRec.List(EOC, NULL, i1640)), i1641, NULL) | &&(=(matching1, 0), =(matching2, 0))
2798_0_sortedLow_Return(EOS(STATIC_2798), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1685, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1685, NULL) → 2813_0_sortedLow_InvokeMethod(EOS(STATIC_2813), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1361)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, NULL) | &&(=(matching1, 0), =(matching2, 0))
2845_0_sortedLow_Return(EOS(STATIC_2845), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1361)), i1731, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1731, NULL) → 2522_0_sortedLow_Return(EOS(STATIC_2522), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1361)), i1731, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1893, i1729)), i1730)), i1731, NULL) | &&(=(matching1, 0), =(matching2, 0))
3060_0_sortedLow_Return(EOS(STATIC_3060), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1361)), i1954, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, NULL) → 2798_0_sortedLow_Return(EOS(STATIC_2798), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1361)), i1954, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1361, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2194, i1952)), i1953)), i1954, NULL) | &&(=(matching1, 0), =(matching2, 0))
2398_0_sortedLow_Return(EOS(STATIC_2398), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, i1366, NULL, i1366, NULL) → 2404_0_quicksort_Store(EOS(STATIC_2404), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL)
2404_0_quicksort_Store(EOS(STATIC_2404), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL) → 2409_0_quicksort_Load(EOS(STATIC_2409), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL)
2409_0_quicksort_Load(EOS(STATIC_2409), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL) → 2418_0_quicksort_FieldAccess(EOS(STATIC_2418), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)))
2418_0_quicksort_FieldAccess(EOS(STATIC_2418), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1366))) → 2429_0_quicksort_Load(EOS(STATIC_2429), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, NULL)
2429_0_quicksort_Load(EOS(STATIC_2429), java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)), NULL, NULL) → 2433_0_quicksort_FieldAccess(EOS(STATIC_2433), NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1366)))
2433_0_quicksort_FieldAccess(EOS(STATIC_2433), NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1366))) → 2437_0_quicksort_InvokeMethod(EOS(STATIC_2437), NULL, NULL, i1366)
2437_0_quicksort_InvokeMethod(EOS(STATIC_2437), NULL, NULL, i1366) → 2441_1_quicksort_InvokeMethod(2441_0_sortedHigh_Load(EOS(STATIC_2441), NULL, i1366), NULL, NULL, i1366)
2441_0_sortedHigh_Load(EOS(STATIC_2441), NULL, i1366) → 2443_0_sortedHigh_Load(EOS(STATIC_2443), NULL, i1366)
2443_0_sortedHigh_Load(EOS(STATIC_2443), NULL, i1366) → 2452_0_sortedHigh_Load(EOS(STATIC_2452), NULL, i1366)
2452_0_sortedHigh_Load(EOS(STATIC_2452), o1464, i1403) → 2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), o1464, i1403, o1464)
2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(o1467sub), i1403, java.lang.Object(o1467sub)) → 2460_0_sortedHigh_NONNULL(EOS(STATIC_2460), java.lang.Object(o1467sub), i1403, java.lang.Object(o1467sub))
2460_0_sortedHigh_NONNULL(EOS(STATIC_2460), java.lang.Object(o1467sub), i1403, java.lang.Object(o1467sub)) → 2469_0_sortedHigh_Load(EOS(STATIC_2469), java.lang.Object(o1467sub), i1403)
2469_0_sortedHigh_Load(EOS(STATIC_2469), java.lang.Object(o1467sub), i1403) → 2477_0_sortedHigh_FieldAccess(EOS(STATIC_2477), java.lang.Object(o1467sub), i1403, java.lang.Object(o1467sub))
2477_0_sortedHigh_FieldAccess(EOS(STATIC_2477), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) → 2486_0_sortedHigh_FieldAccess(EOS(STATIC_2486), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)))
2486_0_sortedHigh_FieldAccess(EOS(STATIC_2486), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) → 2494_0_sortedHigh_Load(EOS(STATIC_2494), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430)
2494_0_sortedHigh_Load(EOS(STATIC_2494), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430) → 2504_0_sortedHigh_LE(EOS(STATIC_2504), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403)
2504_0_sortedHigh_LE(EOS(STATIC_2504), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403) → 2525_0_sortedHigh_LE(EOS(STATIC_2525), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403)
2504_0_sortedHigh_LE(EOS(STATIC_2504), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403) → 2526_0_sortedHigh_LE(EOS(STATIC_2526), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403)
2525_0_sortedHigh_LE(EOS(STATIC_2525), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403) → 2535_0_sortedHigh_Load(EOS(STATIC_2535), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403) | <=(i1430, i1403)
2535_0_sortedHigh_Load(EOS(STATIC_2535), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403) → 2545_0_sortedHigh_FieldAccess(EOS(STATIC_2545), i1403, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)))
2545_0_sortedHigh_FieldAccess(EOS(STATIC_2545), i1403, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) → 2556_0_sortedHigh_Load(EOS(STATIC_2556), i1403, o1489)
2556_0_sortedHigh_Load(EOS(STATIC_2556), i1403, o1489) → 2574_0_sortedHigh_InvokeMethod(EOS(STATIC_2574), o1489, i1403)
2574_0_sortedHigh_InvokeMethod(EOS(STATIC_2574), o1489, i1403) → 2582_1_sortedHigh_InvokeMethod(2582_0_sortedHigh_Load(EOS(STATIC_2582), o1489, i1403), o1489, i1403)
2582_0_sortedHigh_Load(EOS(STATIC_2582), o1489, i1403) → 2590_0_sortedHigh_Load(EOS(STATIC_2590), o1489, i1403)
2590_0_sortedHigh_Load(EOS(STATIC_2590), o1489, i1403) → 2452_0_sortedHigh_Load(EOS(STATIC_2452), o1489, i1403)
2526_0_sortedHigh_LE(EOS(STATIC_2526), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, i1430, i1403) → 2537_0_sortedHigh_New(EOS(STATIC_2537), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403) | >(i1430, i1403)
2537_0_sortedHigh_New(EOS(STATIC_2537), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403) → 2546_0_sortedHigh_Duplicate(EOS(STATIC_2546), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)))
2546_0_sortedHigh_Duplicate(EOS(STATIC_2546), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1))) → 2558_0_sortedHigh_Load(EOS(STATIC_2558), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | =(matching1, 0)
2558_0_sortedHigh_Load(EOS(STATIC_2558), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2))) → 2575_0_sortedHigh_FieldAccess(EOS(STATIC_2575), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) | &&(=(matching1, 0), =(matching2, 0))
2575_0_sortedHigh_FieldAccess(EOS(STATIC_2575), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) → 2583_0_sortedHigh_Load(EOS(STATIC_2583), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430) | &&(=(matching1, 0), =(matching2, 0))
2583_0_sortedHigh_Load(EOS(STATIC_2583), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430) → 2591_0_sortedHigh_FieldAccess(EOS(STATIC_2591), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) | &&(=(matching1, 0), =(matching2, 0))
2591_0_sortedHigh_FieldAccess(EOS(STATIC_2591), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, o1489, i1430))) → 2597_0_sortedHigh_Load(EOS(STATIC_2597), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, o1489) | &&(=(matching1, 0), =(matching2, 0))
2597_0_sortedHigh_Load(EOS(STATIC_2597), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, o1489) → 2606_0_sortedHigh_InvokeMethod(EOS(STATIC_2606), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, o1489, i1403) | &&(=(matching1, 0), =(matching2, 0))
2606_0_sortedHigh_InvokeMethod(EOS(STATIC_2606), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, o1489, i1403) → 2613_1_sortedHigh_InvokeMethod(2613_0_sortedHigh_Load(EOS(STATIC_2613), o1489, i1403), java.lang.Object(QuicksortRec.List(EOC, o1489, i1430)), i1403, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, o1489, i1403) | &&(=(matching1, 0), =(matching2, 0))
2613_0_sortedHigh_Load(EOS(STATIC_2613), o1489, i1403) → 2621_0_sortedHigh_Load(EOS(STATIC_2621), o1489, i1403)
2613_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, i1531, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, i1531) → 2648_0_sortedHigh_Return(EOS(STATIC_2648), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, i1531, NULL, i1531, NULL) | &&(=(matching1, 0), =(matching2, 0))
2613_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1430)), i1537, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1537) → 2649_0_sortedHigh_Return(EOS(STATIC_2649), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1430)), i1537, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1537, NULL) | &&(=(matching1, 0), =(matching2, 0))
2613_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1430)), i1629, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1629) → 2756_0_sortedHigh_Return(EOS(STATIC_2756), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1430)), i1629, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1629, NULL) | &&(=(matching1, 0), =(matching2, 0))
2613_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1430)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792) → 2916_0_sortedHigh_Return(EOS(STATIC_2916), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1430)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, NULL) | &&(=(matching1, 0), =(matching2, 0))
2613_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1430)), i1922, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1922) → 3031_0_sortedHigh_Return(EOS(STATIC_3031), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1430)), i1922, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1922, NULL) | &&(=(matching1, 0), =(matching2, 0))
2613_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i1430)), i2011, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011) → 3140_0_sortedHigh_Return(EOS(STATIC_3140), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i1430)), i2011, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, NULL) | &&(=(matching1, 0), =(matching2, 0))
2621_0_sortedHigh_Load(EOS(STATIC_2621), o1489, i1403) → 2452_0_sortedHigh_Load(EOS(STATIC_2452), o1489, i1403)
2648_0_sortedHigh_Return(EOS(STATIC_2648), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, i1531, NULL, i1531, NULL) → 2657_0_sortedHigh_InvokeMethod(EOS(STATIC_2657), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
2657_0_sortedHigh_InvokeMethod(EOS(STATIC_2657), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL) → 2664_0_<init>_Load(EOS(STATIC_2664), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
2664_0_<init>_Load(EOS(STATIC_2664), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL) → 2699_0_<init>_InvokeMethod(EOS(STATIC_2699), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2699_0_<init>_InvokeMethod(EOS(STATIC_2699), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2714_0_<init>_Load(EOS(STATIC_2714), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2714_0_<init>_Load(EOS(STATIC_2714), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL) → 2725_0_<init>_Load(EOS(STATIC_2725), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
2725_0_<init>_Load(EOS(STATIC_2725), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 2737_0_<init>_FieldAccess(EOS(STATIC_2737), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2737_0_<init>_FieldAccess(EOS(STATIC_2737), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4)), i1430) → 2760_0_<init>_Load(EOS(STATIC_2760), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
2760_0_<init>_Load(EOS(STATIC_2760), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) → 2771_0_<init>_Load(EOS(STATIC_2771), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2771_0_<init>_Load(EOS(STATIC_2771), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 2803_0_<init>_FieldAccess(EOS(STATIC_2803), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL)
2803_0_<init>_FieldAccess(EOS(STATIC_2803), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) → 2816_0_<init>_Return(EOS(STATIC_2816), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL)
2816_0_<init>_Return(EOS(STATIC_2816), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL) → 2823_0_sortedHigh_InvokeMethod(EOS(STATIC_2823), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2823_0_sortedHigh_InvokeMethod(EOS(STATIC_2823), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 2832_1_sortedHigh_InvokeMethod(2832_0_quicksort_Load(EOS(STATIC_2832), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2832_0_quicksort_Load(EOS(STATIC_2832), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 2850_0_quicksort_Load(EOS(STATIC_2850), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2850_0_quicksort_Load(EOS(STATIC_2850), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 2860_0_quicksort_Load(EOS(STATIC_2860), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2860_0_quicksort_Load(EOS(STATIC_2860), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 2866_0_quicksort_Load(EOS(STATIC_2866), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
2866_0_quicksort_Load(EOS(STATIC_2866), java.lang.Object(QuicksortRec.List(EOC, NULL, i106))) → 2207_0_quicksort_Load(EOS(STATIC_2207), java.lang.Object(QuicksortRec.List(EOC, NULL, i106)))
2649_0_sortedHigh_Return(EOS(STATIC_2649), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1430)), i1537, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1537, NULL) → 2698_0_sortedHigh_Return(EOS(STATIC_2698), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1430)), i1537, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1536)), i1537, NULL) | &&(=(matching1, 0), =(matching2, 0))
2698_0_sortedHigh_Return(EOS(STATIC_2698), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1696, i1591)), i1430)), i1592, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, o1696, i1591)), i1592, NULL) → 2713_0_sortedHigh_InvokeMethod(EOS(STATIC_2713), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1696, i1591)), i1430)), i1592, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
2713_0_sortedHigh_InvokeMethod(EOS(STATIC_2713), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1696, i1591)), i1430)), i1592, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL) → 3003_0_sortedHigh_InvokeMethod(EOS(STATIC_3003), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1696, i1591)), i1430)), i1592, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
3003_0_sortedHigh_InvokeMethod(EOS(STATIC_3003), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL) → 3011_0_<init>_Load(EOS(STATIC_3011), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
3011_0_<init>_Load(EOS(STATIC_3011), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL) → 3036_0_<init>_InvokeMethod(EOS(STATIC_3036), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
3036_0_<init>_InvokeMethod(EOS(STATIC_3036), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 3046_0_<init>_Load(EOS(STATIC_3046), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
3046_0_<init>_Load(EOS(STATIC_3046), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL) → 3061_0_<init>_Load(EOS(STATIC_3061), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
3061_0_<init>_Load(EOS(STATIC_3061), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4))) → 3064_0_<init>_FieldAccess(EOS(STATIC_3064), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
3064_0_<init>_FieldAccess(EOS(STATIC_3064), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching3)), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, matching4)), i1430) → 3066_0_<init>_Load(EOS(STATIC_3066), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
3066_0_<init>_Load(EOS(STATIC_3066), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) → 3069_0_<init>_Load(EOS(STATIC_3069), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3069_0_<init>_Load(EOS(STATIC_3069), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 3071_0_<init>_FieldAccess(EOS(STATIC_3071), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL)
3071_0_<init>_FieldAccess(EOS(STATIC_3071), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), NULL) → 3074_0_<init>_Return(EOS(STATIC_3074), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL)
3074_0_<init>_Return(EOS(STATIC_3074), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)), i1430, NULL) → 3077_0_sortedHigh_InvokeMethod(EOS(STATIC_3077), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3077_0_sortedHigh_InvokeMethod(EOS(STATIC_3077), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 3085_1_sortedHigh_InvokeMethod(3085_0_quicksort_Load(EOS(STATIC_3085), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3085_0_quicksort_Load(EOS(STATIC_3085), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 3099_0_quicksort_Load(EOS(STATIC_3099), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3099_0_quicksort_Load(EOS(STATIC_3099), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 3106_0_quicksort_Load(EOS(STATIC_3106), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3106_0_quicksort_Load(EOS(STATIC_3106), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430))) → 3110_0_quicksort_Load(EOS(STATIC_3110), java.lang.Object(QuicksortRec.List(EOC, NULL, i1430)))
3110_0_quicksort_Load(EOS(STATIC_3110), java.lang.Object(QuicksortRec.List(EOC, NULL, i106))) → 2207_0_quicksort_Load(EOS(STATIC_2207), java.lang.Object(QuicksortRec.List(EOC, NULL, i106)))
2756_0_sortedHigh_Return(EOS(STATIC_2756), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1430)), i1629, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1629, NULL) → 2698_0_sortedHigh_Return(EOS(STATIC_2698), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1430)), i1629, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1743, i1627)), i1628)), i1629, NULL) | &&(=(matching1, 0), =(matching2, 0))
2916_0_sortedHigh_Return(EOS(STATIC_2916), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1430)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, NULL) → 2975_0_sortedHigh_Return(EOS(STATIC_2975), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1430)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, java.lang.Object(QuicksortRec.List(EOC, NULL, i1791)), i1792, NULL) | &&(=(matching1, 0), =(matching2, 0))
2975_0_sortedHigh_Return(EOS(STATIC_2975), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1848, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1848, NULL) → 3003_0_sortedHigh_InvokeMethod(EOS(STATIC_3003), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1430)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, NULL) | &&(=(matching1, 0), =(matching2, 0))
3031_0_sortedHigh_Return(EOS(STATIC_3031), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1430)), i1922, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1922, NULL) → 2698_0_sortedHigh_Return(EOS(STATIC_2698), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1430)), i1922, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2158, i1920)), i1921)), i1922, NULL) | &&(=(matching1, 0), =(matching2, 0))
3140_0_sortedHigh_Return(EOS(STATIC_3140), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i1430)), i2011, java.lang.Object(QuicksortRec.List(EOC, NULL, matching1)), java.lang.Object(QuicksortRec.List(EOC, NULL, matching2)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, NULL) → 2975_0_sortedHigh_Return(EOS(STATIC_2975), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i1430)), i2011, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), i1430, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2274, i2009)), i2010)), i2011, NULL) | &&(=(matching1, 0), =(matching2, 0))
2472_0_sortedLow_Return(EOS(STATIC_2472), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408, NULL) → 2512_0_sortedLow_Return(EOS(STATIC_2512), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1407)), i1408, NULL)
2512_0_sortedLow_Return(EOS(STATIC_2512), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1511, i1451)), i1452)), java.lang.Object(QuicksortRec.List(EOC, o1511, i1451)), i1452, NULL) → 2529_0_quicksort_Store(EOS(STATIC_2529), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1511, i1451)), i1452)), NULL)
2529_0_quicksort_Store(EOS(STATIC_2529), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1511, i1451)), i1452)), NULL) → 2806_0_quicksort_Store(EOS(STATIC_2806), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1511, i1451)), i1452)), NULL)
2806_0_quicksort_Store(EOS(STATIC_2806), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL) → 2818_0_quicksort_Load(EOS(STATIC_2818), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL)
2818_0_quicksort_Load(EOS(STATIC_2818), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL) → 2824_0_quicksort_FieldAccess(EOS(STATIC_2824), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)))
2824_0_quicksort_FieldAccess(EOS(STATIC_2824), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672))) → 2834_0_quicksort_Load(EOS(STATIC_2834), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)))
2834_0_quicksort_Load(EOS(STATIC_2834), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671))) → 2851_0_quicksort_FieldAccess(EOS(STATIC_2851), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)))
2851_0_quicksort_FieldAccess(EOS(STATIC_2851), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672))) → 2855_0_quicksort_InvokeMethod(EOS(STATIC_2855), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)
2855_0_quicksort_InvokeMethod(EOS(STATIC_2855), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672) → 2861_1_quicksort_InvokeMethod(2861_0_sortedHigh_Load(EOS(STATIC_2861), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672), NULL, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)
2861_0_sortedHigh_Load(EOS(STATIC_2861), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672) → 2867_0_sortedHigh_Load(EOS(STATIC_2867), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)
2867_0_sortedHigh_Load(EOS(STATIC_2867), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672) → 2452_0_sortedHigh_Load(EOS(STATIC_2452), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)
2564_0_sortedLow_Return(EOS(STATIC_2564), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478, NULL) → 2512_0_sortedLow_Return(EOS(STATIC_2512), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1565, i1476)), i1477)), i1478, NULL)
2761_0_sortedLow_Return(EOS(STATIC_2761), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, NULL) → 2784_0_sortedLow_Return(EOS(STATIC_2784), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633)), java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, java.lang.Object(QuicksortRec.List(EOC, NULL, i1632)), i1633, NULL)
2784_0_sortedLow_Return(EOS(STATIC_2784), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672, NULL) → 2806_0_quicksort_Store(EOS(STATIC_2806), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1809, i1671)), i1672)), NULL)
2838_0_sortedLow_Return(EOS(STATIC_2838), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719, NULL) → 2512_0_sortedLow_Return(EOS(STATIC_2512), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1885, i1717)), i1718)), i1719, NULL)
3051_0_sortedLow_Return(EOS(STATIC_3051), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, NULL) → 2784_0_sortedLow_Return(EOS(STATIC_2784), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2185, i1942)), i1943)), i1944, NULL)
R rules:
2585_0_append_Load(EOS(STATIC_2585), NULL, NULL) → 2599_0_append_Load(EOS(STATIC_2599), NULL, NULL)
3062_0_append_Load(EOS(STATIC_3062), NULL, NULL) → 2599_0_append_Load(EOS(STATIC_2599), NULL, NULL)
2218_0_quicksort_NONNULL(EOS(STATIC_2218), NULL, NULL) → 2230_0_quicksort_NONNULL(EOS(STATIC_2230), NULL, NULL)
2230_0_quicksort_NONNULL(EOS(STATIC_2230), NULL, NULL) → 2248_0_quicksort_ConstantStackPush(EOS(STATIC_2248), NULL)
2248_0_quicksort_ConstantStackPush(EOS(STATIC_2248), NULL) → 2260_0_quicksort_Return(EOS(STATIC_2260), NULL, NULL)
2441_1_quicksort_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, i1431, NULL), NULL, NULL, i1431) → 2505_0_sortedHigh_Return(EOS(STATIC_2505), NULL, NULL, i1431, NULL, i1431, NULL)
2505_0_sortedHigh_Return(EOS(STATIC_2505), NULL, NULL, i1431, NULL, i1431, NULL) → 2528_0_quicksort_Store(EOS(STATIC_2528), NULL, NULL)
2528_0_quicksort_Store(EOS(STATIC_2528), NULL, NULL) → 2538_0_quicksort_Load(EOS(STATIC_2538), NULL, NULL)
2538_0_quicksort_Load(EOS(STATIC_2538), NULL, NULL) → 2547_0_quicksort_Load(EOS(STATIC_2547), NULL, NULL)
2547_0_quicksort_Load(EOS(STATIC_2547), NULL, NULL) → 2559_0_quicksort_InvokeMethod(EOS(STATIC_2559), NULL, NULL)
2559_0_quicksort_InvokeMethod(EOS(STATIC_2559), NULL, NULL) → 2577_1_quicksort_InvokeMethod(2577_0_append_Load(EOS(STATIC_2577), NULL, NULL), NULL, NULL)
2577_0_append_Load(EOS(STATIC_2577), NULL, NULL) → 2585_0_append_Load(EOS(STATIC_2585), NULL, NULL)
2577_1_quicksort_InvokeMethod(2622_0_append_Return(EOS(STATIC_2622), NULL, NULL, NULL), NULL, NULL) → 2650_0_append_Return(EOS(STATIC_2650), NULL, NULL, NULL, NULL, NULL)
2650_0_append_Return(EOS(STATIC_2650), NULL, NULL, NULL, NULL, NULL) → 2660_0_quicksort_Return(EOS(STATIC_2660), NULL)
2861_1_quicksort_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1761)), i1762) → 2888_0_sortedHigh_Return(EOS(STATIC_2888), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1761)), i1762, NULL)
2861_1_quicksort_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1950, i1765)), i1766)), i1767) → 2892_0_sortedHigh_Return(EOS(STATIC_2892), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1950, i1765)), i1766)), i1767, NULL)
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796) → 2917_0_sortedHigh_Return(EOS(STATIC_2917), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, NULL)
2861_1_quicksort_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2162, i1925)), i1926)), i1927) → 3035_0_sortedHigh_Return(EOS(STATIC_3035), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2162, i1925)), i1926)), i1927, NULL)
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016) → 3144_0_sortedHigh_Return(EOS(STATIC_3144), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, NULL)
2888_0_sortedHigh_Return(EOS(STATIC_2888), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1761)), i1762, NULL) → 2893_0_sortedHigh_Return(EOS(STATIC_2893), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1761)), i1762, NULL)
2892_0_sortedHigh_Return(EOS(STATIC_2892), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1950, i1765)), i1766)), i1767, NULL) → 2893_0_sortedHigh_Return(EOS(STATIC_2893), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1950, i1765)), i1766)), i1767, NULL)
2893_0_sortedHigh_Return(EOS(STATIC_2893), NULL, java.lang.Object(QuicksortRec.List(EOC, o1958, i1773)), i1774, NULL) → 2899_0_quicksort_Store(EOS(STATIC_2899), NULL, NULL)
2899_0_quicksort_Store(EOS(STATIC_2899), NULL, NULL) → 3006_0_quicksort_Store(EOS(STATIC_3006), NULL, NULL)
2917_0_sortedHigh_Return(EOS(STATIC_2917), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, NULL) → 2981_0_sortedHigh_Return(EOS(STATIC_2981), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, java.lang.Object(QuicksortRec.List(EOC, NULL, i1795)), i1796, NULL)
2981_0_sortedHigh_Return(EOS(STATIC_2981), NULL, java.lang.Object(QuicksortRec.List(EOC, o2086, i1860)), i1861, java.lang.Object(QuicksortRec.List(EOC, o2086, i1860)), i1861, NULL) → 3006_0_quicksort_Store(EOS(STATIC_3006), NULL, NULL)
3006_0_quicksort_Store(EOS(STATIC_3006), NULL, NULL) → 3012_0_quicksort_Load(EOS(STATIC_3012), NULL, NULL)
3012_0_quicksort_Load(EOS(STATIC_3012), NULL, NULL) → 3023_0_quicksort_Load(EOS(STATIC_3023), NULL, NULL)
3023_0_quicksort_Load(EOS(STATIC_3023), NULL, NULL) → 3038_0_quicksort_InvokeMethod(EOS(STATIC_3038), NULL, NULL)
3035_0_sortedHigh_Return(EOS(STATIC_3035), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2162, i1925)), i1926)), i1927, NULL) → 2893_0_sortedHigh_Return(EOS(STATIC_2893), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2162, i1925)), i1926)), i1927, NULL)
3038_0_quicksort_InvokeMethod(EOS(STATIC_3038), NULL, NULL) → 3047_1_quicksort_InvokeMethod(3047_0_append_Load(EOS(STATIC_3047), NULL, NULL), NULL, NULL)
3047_0_append_Load(EOS(STATIC_3047), NULL, NULL) → 3062_0_append_Load(EOS(STATIC_3062), NULL, NULL)
3047_1_quicksort_InvokeMethod(2622_0_append_Return(EOS(STATIC_2622), NULL, NULL, NULL), NULL, NULL) → 3070_0_append_Return(EOS(STATIC_3070), NULL, NULL, NULL, NULL, NULL)
3070_0_append_Return(EOS(STATIC_3070), NULL, NULL, NULL, NULL, NULL) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)
3144_0_sortedHigh_Return(EOS(STATIC_3144), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, NULL) → 2981_0_sortedHigh_Return(EOS(STATIC_2981), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2278, i2014)), i2015)), i2016, NULL)
2362_0_sortedLow_NONNULL(EOS(STATIC_2362), NULL, i1323, NULL) → 2366_0_sortedLow_NONNULL(EOS(STATIC_2366), NULL, i1323, NULL)
2366_0_sortedLow_NONNULL(EOS(STATIC_2366), NULL, i1323, NULL) → 2373_0_sortedLow_ConstantStackPush(EOS(STATIC_2373), NULL, i1323)
2373_0_sortedLow_ConstantStackPush(EOS(STATIC_2373), NULL, i1323) → 2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, i1323, NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, i1400, NULL), NULL, i1400) → 2448_0_sortedLow_Return(EOS(STATIC_2448), NULL, i1400, NULL, i1400, NULL)
2434_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1412)), i1413) → 2473_0_sortedLow_Return(EOS(STATIC_2473), java.lang.Object(QuicksortRec.List(EOC, NULL, i1412)), i1413, NULL)
2434_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1569, i1482)), i1483)), i1484) → 2566_0_sortedLow_Return(EOS(STATIC_2566), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1569, i1482)), i1483)), i1484, NULL)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637) → 2762_0_sortedLow_Return(EOS(STATIC_2762), java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, NULL)
2434_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1889, i1723)), i1724)), i1725) → 2841_0_sortedLow_Return(EOS(STATIC_2841), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1889, i1723)), i1724)), i1725, NULL)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949) → 3055_0_sortedLow_Return(EOS(STATIC_3055), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, NULL)
2448_0_sortedLow_Return(EOS(STATIC_2448), NULL, i1400, NULL, i1400, NULL) → 2453_0_sortedLow_Return(EOS(STATIC_2453), NULL)
2473_0_sortedLow_Return(EOS(STATIC_2473), java.lang.Object(QuicksortRec.List(EOC, NULL, i1412)), i1413, NULL) → 2516_0_sortedLow_Return(EOS(STATIC_2516), java.lang.Object(QuicksortRec.List(EOC, NULL, i1412)), i1413, NULL)
2516_0_sortedLow_Return(EOS(STATIC_2516), java.lang.Object(QuicksortRec.List(EOC, o1518, i1455)), i1456, NULL) → 2531_0_sortedLow_Return(EOS(STATIC_2531), NULL)
2531_0_sortedLow_Return(EOS(STATIC_2531), NULL) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2566_0_sortedLow_Return(EOS(STATIC_2566), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1569, i1482)), i1483)), i1484, NULL) → 2516_0_sortedLow_Return(EOS(STATIC_2516), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1569, i1482)), i1483)), i1484, NULL)
2610_1_sortedLow_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1573))) → 2704_0_quicksort_Return(EOS(STATIC_2704), java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), NULL)
2704_0_quicksort_Return(EOS(STATIC_2704), java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), i1419, java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), NULL) → 2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, i1573)), i1419, NULL)
2762_0_sortedLow_Return(EOS(STATIC_2762), java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, NULL) → 2789_0_sortedLow_Return(EOS(STATIC_2789), java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, java.lang.Object(QuicksortRec.List(EOC, NULL, i1636)), i1637, NULL)
2789_0_sortedLow_Return(EOS(STATIC_2789), java.lang.Object(QuicksortRec.List(EOC, o1817, i1675)), i1676, java.lang.Object(QuicksortRec.List(EOC, o1817, i1675)), i1676, NULL) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2841_0_sortedLow_Return(EOS(STATIC_2841), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1889, i1723)), i1724)), i1725, NULL) → 2516_0_sortedLow_Return(EOS(STATIC_2516), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1889, i1723)), i1724)), i1725, NULL)
2911_1_sortedLow_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1881)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1881))) → 3008_0_quicksort_Return(EOS(STATIC_3008), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1881)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1881)), NULL)
3008_0_quicksort_Return(EOS(STATIC_3008), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1881)), i1685, java.lang.Object(QuicksortRec.List(EOC, NULL, i1881)), NULL) → 3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1830, i1684)), i1881)), i1685, NULL)
3055_0_sortedLow_Return(EOS(STATIC_3055), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, NULL) → 2789_0_sortedLow_Return(EOS(STATIC_2789), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2189, i1947)), i1948)), i1949, NULL)
2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), NULL, i1403, NULL) → 2461_0_sortedHigh_NONNULL(EOS(STATIC_2461), NULL, i1403, NULL)
2461_0_sortedHigh_NONNULL(EOS(STATIC_2461), NULL, i1403, NULL) → 2470_0_sortedHigh_ConstantStackPush(EOS(STATIC_2470), NULL, i1403)
2470_0_sortedHigh_ConstantStackPush(EOS(STATIC_2470), NULL, i1403) → 2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, i1403, NULL)
2582_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, i1510, NULL), NULL, i1510) → 2611_0_sortedHigh_Return(EOS(STATIC_2611), NULL, i1510, NULL, i1510, NULL)
2582_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1519)), i1520) → 2645_0_sortedHigh_Return(EOS(STATIC_2645), java.lang.Object(QuicksortRec.List(EOC, NULL, i1519)), i1520, NULL)
2582_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1735, i1616)), i1617)), i1618) → 2749_0_sortedHigh_Return(EOS(STATIC_2749), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1735, i1616)), i1617)), i1618, NULL)
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788) → 2915_0_sortedHigh_Return(EOS(STATIC_2915), java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, NULL)
2582_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2154, i1914)), i1915)), i1916) → 3028_0_sortedHigh_Return(EOS(STATIC_3028), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2154, i1914)), i1915)), i1916, NULL)
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006) → 3135_0_sortedHigh_Return(EOS(STATIC_3135), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, NULL)
2611_0_sortedHigh_Return(EOS(STATIC_2611), NULL, i1510, NULL, i1510, NULL) → 2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL)
2645_0_sortedHigh_Return(EOS(STATIC_2645), java.lang.Object(QuicksortRec.List(EOC, NULL, i1519)), i1520, NULL) → 2687_0_sortedHigh_Return(EOS(STATIC_2687), java.lang.Object(QuicksortRec.List(EOC, NULL, i1519)), i1520, NULL)
2687_0_sortedHigh_Return(EOS(STATIC_2687), java.lang.Object(QuicksortRec.List(EOC, o1676, i1578)), i1579, NULL) → 2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL)
2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
2749_0_sortedHigh_Return(EOS(STATIC_2749), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1735, i1616)), i1617)), i1618, NULL) → 2687_0_sortedHigh_Return(EOS(STATIC_2687), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o1735, i1616)), i1617)), i1618, NULL)
2832_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1755))) → 2877_0_quicksort_Return(EOS(STATIC_2877), java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), NULL)
2877_0_quicksort_Return(EOS(STATIC_2877), java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), i1531, java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), NULL) → 2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, i1755)), i1531, NULL)
2915_0_sortedHigh_Return(EOS(STATIC_2915), java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, NULL) → 2964_0_sortedHigh_Return(EOS(STATIC_2964), java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, java.lang.Object(QuicksortRec.List(EOC, NULL, i1787)), i1788, NULL)
2964_0_sortedHigh_Return(EOS(STATIC_2964), java.lang.Object(QuicksortRec.List(EOC, o2055, i1837)), i1838, java.lang.Object(QuicksortRec.List(EOC, o2055, i1837)), i1838, NULL) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
3028_0_sortedHigh_Return(EOS(STATIC_3028), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2154, i1914)), i1915)), i1916, NULL) → 2687_0_sortedHigh_Return(EOS(STATIC_2687), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2154, i1914)), i1915)), i1916, NULL)
3085_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1993)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1993))) → 3119_0_quicksort_Return(EOS(STATIC_3119), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1993)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1993)), NULL)
3119_0_quicksort_Return(EOS(STATIC_3119), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1993)), i1848, java.lang.Object(QuicksortRec.List(EOC, NULL, i1993)), NULL) → 3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2068, i1847)), i1993)), i1848, NULL)
3135_0_sortedHigh_Return(EOS(STATIC_3135), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, NULL) → 2964_0_sortedHigh_Return(EOS(STATIC_2964), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, o2269, i2004)), i2005)), i2006, NULL)
2599_0_append_Load(EOS(STATIC_2599), NULL, NULL) → 2607_0_append_NONNULL(EOS(STATIC_2607), NULL, NULL, NULL)
2607_0_append_NONNULL(EOS(STATIC_2607), NULL, NULL, NULL) → 2614_0_append_Load(EOS(STATIC_2614), NULL, NULL)
2614_0_append_Load(EOS(STATIC_2614), NULL, NULL) → 2622_0_append_Return(EOS(STATIC_2622), NULL, NULL, NULL)

Combined rules. Obtained 23 conditional rules for P and 24 conditional rules for R.


P rules:
2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2))) → 2337_1_quicksort_InvokeMethod(2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2, x1, x2), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)
2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, x2, x3) → 2434_1_sortedLow_InvokeMethod(2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x3, x1, x3), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x3) | <(x3, x2)
2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, x2, x3) → 2450_1_sortedLow_InvokeMethod(2397_0_sortedLow_GT(EOS(STATIC_2397), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x3, x1, x3), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x2, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x3) | >=(x3, x2)
2450_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, x0, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), x0, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x1, NULL, x0) → 2610_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x1))), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), x0, java.lang.Object(QuicksortRec.List(EOC, NULL, x1)))
2450_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x1))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, x1)))
2450_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x3)), java.lang.Object(QuicksortRec.List(EOC, NULL, x3))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, x3)))
2450_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x3)), java.lang.Object(QuicksortRec.List(EOC, NULL, x3))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, x3)))
2450_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x2)), java.lang.Object(QuicksortRec.List(EOC, NULL, x2))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x2)))
2450_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x4, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x4)), java.lang.Object(QuicksortRec.List(EOC, NULL, x4))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, x4)))
2337_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, x0, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), NULL, x0) → 2441_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), NULL, x0, NULL), NULL, NULL, x0)
2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2, java.lang.Object(QuicksortRec.List(EOC, x0, x1))) → 2582_1_sortedHigh_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), x0, x2, x0), x0, x2) | >=(x2, x1)
2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2, java.lang.Object(QuicksortRec.List(EOC, x0, x1))) → 2613_1_sortedHigh_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), x0, x2, x0), java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x1, x0, x2) | <(x2, x1)
2613_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, x0, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), x0, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x1, NULL, x0) → 2832_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x1))), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), x0, java.lang.Object(QuicksortRec.List(EOC, NULL, x1)))
2613_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x1))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, x1)))
2613_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x3)), java.lang.Object(QuicksortRec.List(EOC, NULL, x3))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, x3)))
2613_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x3)), java.lang.Object(QuicksortRec.List(EOC, NULL, x3))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(EOC, NULL, x3)))
2613_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x2, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x2)), java.lang.Object(QuicksortRec.List(EOC, NULL, x2))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x2)))
2613_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), java.lang.Object(QuicksortRec.List(EOC, NULL, 0)), x4, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(EOS(STATIC_2218), java.lang.Object(QuicksortRec.List(EOC, NULL, x4)), java.lang.Object(QuicksortRec.List(EOC, NULL, x4))), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x4)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, x4)))
2337_1_quicksort_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0))), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)
2337_1_quicksort_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2))), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)
2337_1_quicksort_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2))), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)
2337_1_quicksort_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0))), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1)
2337_1_quicksort_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2))), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3)
R rules:
2218_0_quicksort_NONNULL(EOS(STATIC_2218), NULL, NULL) → 2260_0_quicksort_Return(EOS(STATIC_2260), NULL, NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(EOS(STATIC_2381), NULL, x0, NULL), NULL, x0) → 2453_0_sortedLow_Return(EOS(STATIC_2453), NULL)
2434_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return(EOS(STATIC_2453), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2434_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return(EOS(STATIC_2531), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2434_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return(EOS(STATIC_2810), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2610_1_sortedLow_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0))) → 2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(EOS(STATIC_2717), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2810_0_sortedLow_Return(EOS(STATIC_2810), NULL)
2911_1_sortedLow_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, x2))) → 3015_0_sortedLow_Return(EOS(STATIC_3015), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL)
2457_0_sortedHigh_NONNULL(EOS(STATIC_2457), NULL, x0, NULL) → 2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, x0, NULL)
2582_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, x0, NULL), NULL, x0) → 2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL)
2582_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
2582_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
2582_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
2832_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, java.lang.Object(QuicksortRec.List(EOC, NULL, x0))) → 2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL)
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL)
3085_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return(EOS(STATIC_2660), NULL), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(EOC, NULL, x2))) → 3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL)
2441_1_quicksort_InvokeMethod(2478_0_sortedHigh_Return(EOS(STATIC_2478), NULL, x0, NULL), NULL, NULL, x0) → 2660_0_quicksort_Return(EOS(STATIC_2660), NULL)
2861_1_quicksort_InvokeMethod(2619_0_sortedHigh_Return(EOS(STATIC_2619), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)
2861_1_quicksort_InvokeMethod(2710_0_sortedHigh_Return(EOS(STATIC_2710), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)
2861_1_quicksort_InvokeMethod(2999_0_sortedHigh_Return(EOS(STATIC_2999), NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(EOS(STATIC_2886), java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1, NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, NULL, x0)), x1) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(EOS(STATIC_3123), java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3, NULL), NULL, java.lang.Object(QuicksortRec.List(EOC, java.lang.Object(QuicksortRec.List(EOC, x0, x1)), x2)), x3) → 3073_0_quicksort_Return(EOS(STATIC_3073), NULL)

Filtered ground terms:



2861_1_quicksort_InvokeMethod(x1, x2, x3, x4) → 2861_1_quicksort_InvokeMethod(x1, x3, x4)
QuicksortRec.List(x1, x2, x3) → QuicksortRec.List(x2, x3)
2457_0_sortedHigh_NONNULL(x1, x2, x3, x4) → 2457_0_sortedHigh_NONNULL(x2, x3, x4)
3015_0_sortedLow_Return(x1, x2, x3, x4) → 3015_0_sortedLow_Return(x2, x3)
2717_0_sortedLow_Return(x1, x2, x3, x4) → 2717_0_sortedLow_Return(x2, x3)
2810_0_sortedLow_Return(x1, x2) → 2810_0_sortedLow_Return
2531_0_sortedLow_Return(x1, x2) → 2531_0_sortedLow_Return
2453_0_sortedLow_Return(x1, x2) → 2453_0_sortedLow_Return
2218_0_quicksort_NONNULL(x1, x2, x3) → 2218_0_quicksort_NONNULL(x2, x3)
2613_1_sortedHigh_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 2613_1_sortedHigh_InvokeMethod(x1, x2, x3, x6, x7, x8)
3123_0_sortedHigh_Return(x1, x2, x3, x4) → 3123_0_sortedHigh_Return(x2, x3)
2886_0_sortedHigh_Return(x1, x2, x3, x4) → 2886_0_sortedHigh_Return(x2, x3)
2999_0_sortedHigh_Return(x1, x2) → 2999_0_sortedHigh_Return
2710_0_sortedHigh_Return(x1, x2) → 2710_0_sortedHigh_Return
2619_0_sortedHigh_Return(x1, x2) → 2619_0_sortedHigh_Return
2478_0_sortedHigh_Return(x1, x2, x3, x4) → 2478_0_sortedHigh_Return(x3)
Cond_2457_0_sortedHigh_NONNULL1(x1, x2, x3, x4, x5) → Cond_2457_0_sortedHigh_NONNULL1(x1, x3, x4, x5)
Cond_2457_0_sortedHigh_NONNULL(x1, x2, x3, x4, x5) → Cond_2457_0_sortedHigh_NONNULL(x1, x3, x4, x5)
2441_1_quicksort_InvokeMethod(x1, x2, x3, x4) → 2441_1_quicksort_InvokeMethod(x1, x4)
2381_0_sortedLow_Return(x1, x2, x3, x4) → 2381_0_sortedLow_Return(x3)
2450_1_sortedLow_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 2450_1_sortedLow_InvokeMethod(x1, x2, x3, x6, x7, x8)
2397_0_sortedLow_GT(x1, x2, x3, x4, x5) → 2397_0_sortedLow_GT(x2, x3, x4, x5)
Cond_2397_0_sortedLow_GT1(x1, x2, x3, x4, x5, x6) → Cond_2397_0_sortedLow_GT1(x1, x3, x4, x5, x6)
Cond_2397_0_sortedLow_GT(x1, x2, x3, x4, x5, x6) → Cond_2397_0_sortedLow_GT(x1, x3, x4, x5, x6)
3073_0_quicksort_Return(x1, x2) → 3073_0_quicksort_Return
2660_0_quicksort_Return(x1, x2) → 2660_0_quicksort_Return
2260_0_quicksort_Return(x1, x2, x3) → 2260_0_quicksort_Return

Filtered duplicate args:



2218_0_quicksort_NONNULL(x1, x2) → 2218_0_quicksort_NONNULL(x2)
2337_1_quicksort_InvokeMethod(x1, x2, x3, x4) → 2337_1_quicksort_InvokeMethod(x1, x2)
2397_0_sortedLow_GT(x1, x2, x3, x4) → 2397_0_sortedLow_GT(x1, x4)
Cond_2397_0_sortedLow_GT(x1, x2, x3, x4, x5) → Cond_2397_0_sortedLow_GT(x1, x2, x5)
Cond_2397_0_sortedLow_GT1(x1, x2, x3, x4, x5) → Cond_2397_0_sortedLow_GT1(x1, x2, x5)
2450_1_sortedLow_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2450_1_sortedLow_InvokeMethod(x1, x2, x6)
2610_1_sortedLow_InvokeMethod(x1, x2, x3, x4) → 2610_1_sortedLow_InvokeMethod(x1, x3, x4)
2457_0_sortedHigh_NONNULL(x1, x2, x3) → 2457_0_sortedHigh_NONNULL(x2, x3)
Cond_2457_0_sortedHigh_NONNULL(x1, x2, x3, x4) → Cond_2457_0_sortedHigh_NONNULL(x1, x3, x4)
Cond_2457_0_sortedHigh_NONNULL1(x1, x2, x3, x4) → Cond_2457_0_sortedHigh_NONNULL1(x1, x3, x4)
2613_1_sortedHigh_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2613_1_sortedHigh_InvokeMethod(x1, x2, x6)
2832_1_sortedHigh_InvokeMethod(x1, x2, x3, x4) → 2832_1_sortedHigh_InvokeMethod(x1, x3, x4)

Filtered unneeded arguments:



2441_1_quicksort_InvokeMethod(x1, x2) → 2441_1_quicksort_InvokeMethod(x1)
2582_1_sortedHigh_InvokeMethod(x1, x2, x3) → 2582_1_sortedHigh_InvokeMethod(x1, x2)
2613_1_sortedHigh_InvokeMethod(x1, x2, x3) → 2613_1_sortedHigh_InvokeMethod(x1, x2)
2832_1_sortedHigh_InvokeMethod(x1, x2, x3) → 2832_1_sortedHigh_InvokeMethod(x1, x3)
3085_1_sortedHigh_InvokeMethod(x1, x2, x3, x4) → 3085_1_sortedHigh_InvokeMethod(x1, x2, x4)
2861_1_quicksort_InvokeMethod(x1, x2, x3) → 2861_1_quicksort_InvokeMethod(x1, x2)
2886_0_sortedHigh_Return(x1, x2) → 2886_0_sortedHigh_Return(x1)
3123_0_sortedHigh_Return(x1, x2) → 3123_0_sortedHigh_Return(x1)

Combined rules. Obtained 23 conditional rules for P and 24 conditional rules for R.


P rules:
2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2337_1_quicksort_InvokeMethod(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2434_1_sortedLow_InvokeMethod(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3), java.lang.Object(QuicksortRec.List(x0, x1)), x3) | <(x3, x2)
2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2450_1_sortedLow_InvokeMethod(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) | >=(x3, x2)
2450_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1)), x0) → 2610_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))), x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2450_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), x2) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), x2, java.lang.Object(QuicksortRec.List(NULL, x1)))
2450_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(NULL, x3)))
2450_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4, java.lang.Object(QuicksortRec.List(NULL, x3)))
2450_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), x1) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), x1, java.lang.Object(QuicksortRec.List(NULL, x2)))
2450_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), x3) → 2911_1_sortedLow_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), x3, java.lang.Object(QuicksortRec.List(NULL, x4)))
2337_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2441_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x0, NULL))
2457_0_sortedHigh_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2582_1_sortedHigh_InvokeMethod(2457_0_sortedHigh_NONNULL(x2, x0), x0) | >=(x2, x1)
2457_0_sortedHigh_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2613_1_sortedHigh_InvokeMethod(2457_0_sortedHigh_NONNULL(x2, x0), java.lang.Object(QuicksortRec.List(x0, x1))) | <(x2, x1)
2613_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1))) → 2832_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))), java.lang.Object(QuicksortRec.List(NULL, x1)))
2613_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), java.lang.Object(QuicksortRec.List(NULL, x1)))
2613_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), java.lang.Object(QuicksortRec.List(NULL, x3)))
2613_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), java.lang.Object(QuicksortRec.List(NULL, x3)))
2613_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2))) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2613_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4))) → 3085_1_sortedHigh_InvokeMethod(2218_0_quicksort_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), java.lang.Object(QuicksortRec.List(NULL, x4)))
2337_1_quicksort_InvokeMethod(2453_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2337_1_quicksort_InvokeMethod(2531_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2337_1_quicksort_InvokeMethod(2810_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2337_1_quicksort_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2337_1_quicksort_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2861_1_quicksort_InvokeMethod(2457_0_sortedHigh_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
R rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2453_0_sortedLow_Return
2434_1_sortedLow_InvokeMethod(2453_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2810_0_sortedLow_Return
2434_1_sortedLow_InvokeMethod(2531_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2810_0_sortedLow_Return
2434_1_sortedLow_InvokeMethod(2810_0_sortedLow_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2810_0_sortedLow_Return
2610_1_sortedLow_InvokeMethod(2660_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2810_0_sortedLow_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2810_0_sortedLow_Return
2911_1_sortedLow_InvokeMethod(2660_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2478_0_sortedHigh_Return(x0)
2582_1_sortedHigh_InvokeMethod(2478_0_sortedHigh_Return(x0), NULL) → 2619_0_sortedHigh_Return
2582_1_sortedHigh_InvokeMethod(2619_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2999_0_sortedHigh_Return
2582_1_sortedHigh_InvokeMethod(2710_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2999_0_sortedHigh_Return
2582_1_sortedHigh_InvokeMethod(2999_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2999_0_sortedHigh_Return
2832_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2999_0_sortedHigh_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2999_0_sortedHigh_Return
3085_1_sortedHigh_InvokeMethod(2660_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2478_0_sortedHigh_Return(x0)) → 2660_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2619_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 3073_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2710_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 3073_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2999_0_sortedHigh_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 3073_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 3073_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 3073_0_quicksort_Return

Performed bisimulation on rules. Used the following equivalence classes: {[2381_0_sortedLow_Return_1, 2478_0_sortedHigh_Return_1]=2381_0_sortedLow_Return_1, [2260_0_quicksort_Return, 2453_0_sortedLow_Return, 2810_0_sortedLow_Return, 2531_0_sortedLow_Return, 2660_0_quicksort_Return, 2619_0_sortedHigh_Return, 2999_0_sortedHigh_Return, 2710_0_sortedHigh_Return, 3073_0_quicksort_Return]=2260_0_quicksort_Return}


Finished conversion. Obtained 27 rules for P and 21 rules for R. System has predefined symbols.


P rules:
2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2)
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT(<(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3)
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT1(>=(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3)
2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1)), x0) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), x2) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3)))
2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), x1) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2)))
2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), x3) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4)))
2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2457_0_SORTEDHIGH_NONNULL(x0, NULL)
2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1)))
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0)
2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1)))
COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2, x0), java.lang.Object(QuicksortRec.List(x0, x1)))
COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0)
2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3)))
2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2)))
2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4)))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0)))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0)))
2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
R rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(0): 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))
(1): 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])
(2): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(x3[2] < x2[2], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])
(3): COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
(4): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(x3[4] >= x2[4], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
(5): COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])
(6): COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
(7): 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))
(8): 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))
(9): 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))
(10): 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))
(11): 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))
(12): 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12]))) → 2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(16): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
(18): 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))
(19): 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))
(20): 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))
(21): 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))
(22): 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))
(23): 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))) → 2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))
(24): 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))) → 2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))
(25): 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))) → 2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))
(26): 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))) → 2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))

(0) -> (12), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]) →* 2381_0_sortedLow_Return(x0[12])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) →* java.lang.Object(QuicksortRec.List(NULL, x0[12])))


(0) -> (23), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23])))


(0) -> (24), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24])))


(0) -> (25), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]) →* 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])))


(0) -> (26), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]) →* 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])))


(1) -> (2), if (java.lang.Object(QuicksortRec.List(x0[1], x1[1])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x2[1]* x3[2])


(1) -> (4), if (java.lang.Object(QuicksortRec.List(x0[1], x1[1])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x2[1]* x3[4])


(2) -> (3), if (x3[2] < x2[2]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]* x3[3])


(3) -> (2), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[3]* x3[2])


(3) -> (4), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]* x3[4])


(4) -> (5), if (x3[4] >= x2[4]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))∧x3[4]* x3[5])


(4) -> (6), if (x3[4] >= x2[4]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]* x3[6])


(5) -> (7), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]) →* 2381_0_sortedLow_Return(x0[7])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])) →* java.lang.Object(QuicksortRec.List(NULL, x1[7]))∧x3[5]* x0[7])


(5) -> (8), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8]))∧x3[5]* x2[8])


(5) -> (9), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9]))∧x3[5]* x4[9])


(5) -> (10), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]) →* 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10]))∧x3[5]* x1[10])


(5) -> (11), if (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]) →* 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11]))∧x3[5]* x3[11])


(6) -> (2), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]* x3[2])


(6) -> (4), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[6]* x3[4])


(7) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x1[7])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(7) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x1[7])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(8) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x1[8])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(8) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x1[8])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(9) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x3[9])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(9) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x3[9])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(10) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x2[10])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(10) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x2[10])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(11) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x4[11])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(11) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x4[11])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(12) -> (13), if (x0[12]* x2[13]NULL* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(12) -> (15), if (x0[12]* x2[15]NULL* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (16), if (x2[15] < x1[15]x2[15]* x2[16]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[16], x1[16])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))


(16) -> (18), if (2457_0_sortedHigh_NONNULL(x2[16], x0[16]) →* 2381_0_sortedLow_Return(x0[18])∧java.lang.Object(QuicksortRec.List(x0[16], x1[16])) →* java.lang.Object(QuicksortRec.List(NULL, x1[18])))


(16) -> (19), if (2457_0_sortedHigh_NONNULL(x2[16], x0[16]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19])))


(16) -> (20), if (2457_0_sortedHigh_NONNULL(x2[16], x0[16]) →* 2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20])))


(16) -> (21), if (2457_0_sortedHigh_NONNULL(x2[16], x0[16]) →* 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21])))


(16) -> (22), if (2457_0_sortedHigh_NONNULL(x2[16], x0[16]) →* 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(18) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x1[18])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(18) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x1[18])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(19) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x1[19])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(19) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x1[19])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(20) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x3[20])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(20) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x3[20])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(21) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x2[21])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(21) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x2[21])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(22) -> (0), if (java.lang.Object(QuicksortRec.List(NULL, x4[22])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))


(22) -> (1), if (java.lang.Object(QuicksortRec.List(NULL, x4[22])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))


(23) -> (13), if (x1[23]* x2[13]java.lang.Object(QuicksortRec.List(NULL, x0[23])) →* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(23) -> (15), if (x1[23]* x2[15]java.lang.Object(QuicksortRec.List(NULL, x0[23])) →* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(24) -> (13), if (x3[24]* x2[13]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])) →* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(24) -> (15), if (x3[24]* x2[15]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])) →* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(25) -> (13), if (x1[25]* x2[13]java.lang.Object(QuicksortRec.List(NULL, x0[25])) →* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(25) -> (15), if (x1[25]* x2[15]java.lang.Object(QuicksortRec.List(NULL, x0[25])) →* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(26) -> (13), if (x3[26]* x2[13]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])) →* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(26) -> (15), if (x3[26]* x2[15]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])) →* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(8) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@32fde63f Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

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 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) the following chains were created:
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (1)    (java.lang.Object(QuicksortRec.List(NULL, x1[7]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (1) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (2)    (java.lang.Object(QuicksortRec.List(NULL, x1[8]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (2) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (3)    (java.lang.Object(QuicksortRec.List(NULL, x3[9]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (3) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (4)    (java.lang.Object(QuicksortRec.List(NULL, x2[10]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (4) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (5)    (java.lang.Object(QuicksortRec.List(NULL, x4[11]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (5) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (6)    (java.lang.Object(QuicksortRec.List(NULL, x1[18]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (6) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (7)    (java.lang.Object(QuicksortRec.List(NULL, x1[19]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (7) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (8)    (java.lang.Object(QuicksortRec.List(NULL, x3[20]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (8) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (9)    (java.lang.Object(QuicksortRec.List(NULL, x2[21]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (9) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (10)    (java.lang.Object(QuicksortRec.List(NULL, x4[22]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))≥2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))∧(UIncreasing(2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))), ≥))



    We solved constraint (10) using rules (I), (II).




For Pair 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2) the following chains were created:
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (11)    (java.lang.Object(QuicksortRec.List(NULL, x1[7]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (11) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (12)    (java.lang.Object(QuicksortRec.List(NULL, x1[8]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (12) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (13)    (java.lang.Object(QuicksortRec.List(NULL, x3[9]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (13) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (14)    (java.lang.Object(QuicksortRec.List(NULL, x2[10]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (14) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (15)    (java.lang.Object(QuicksortRec.List(NULL, x4[11]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (15) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (16)    (java.lang.Object(QuicksortRec.List(NULL, x1[18]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (16) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (17)    (java.lang.Object(QuicksortRec.List(NULL, x1[19]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (17) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (18)    (java.lang.Object(QuicksortRec.List(NULL, x3[20]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (18) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (19)    (java.lang.Object(QuicksortRec.List(NULL, x2[21]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (19) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (20)    (java.lang.Object(QuicksortRec.List(NULL, x4[22]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥NonInfC∧2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])))≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])), ≥))



    We solved constraint (20) using rules (I), (II).




For Pair 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT(<(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]) which results in the following constraint:

    (21)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥))



    We simplified constraint (21) using rules (I), (II), (IV) which results in the following new constraint:

    (22)    (<(x3[2], x2[2])=TRUE2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(-1)bni_90 + (-1)Bound*bni_90] ≥ 0∧[(-1)bso_91] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(-1)bni_90 + (-1)Bound*bni_90] ≥ 0∧[(-1)bso_91] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(-1)bni_90 + (-1)Bound*bni_90] ≥ 0∧[(-1)bso_91] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_90 + (-1)Bound*bni_90] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_91] ≥ 0)







For Pair COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) which results in the following constraint:

    (27)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]java.lang.Object(QuicksortRec.List(x0[3], x1[3]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x2[2]1))∧x3[3]=x3[2]1COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (27) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (28)    (<(x3[2], x2[2])=TRUECOND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x2[2])), x3[2])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x2[2])), x3[2])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x3[2])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (28) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (29) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (30) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (31)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (31) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (32)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_93] ≥ 0)



  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) which results in the following constraint:

    (33)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]java.lang.Object(QuicksortRec.List(x0[3], x1[3]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]=x3[4]COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (33) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (34)    (<(x3[2], x2[2])=TRUECOND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x2[2])), x3[2])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x2[2])), x3[2])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x3[2])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (34) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (35) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (36) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (37)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧[(-1)bso_93] ≥ 0)



    We simplified constraint (37) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (38)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_93] ≥ 0)







For Pair 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT1(>=(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) which results in the following constraint:

    (39)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))∧x3[4]=x3[5]2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint:

    (40)    (>=(x3[4], x2[4])=TRUE2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (40) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (41)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (41) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (42)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (42) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (43)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (43) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (44)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_95] ≥ 0)



  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]) which results in the following constraint:

    (45)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (45) using rules (I), (II), (IV) which results in the following new constraint:

    (46)    (>=(x3[4], x2[4])=TRUE2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (46) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (47)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (47) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (48)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (48) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (49)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧[(-1)bso_95] ≥ 0)



    We simplified constraint (49) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (50)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_95] ≥ 0)







For Pair COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) which results in the following constraint:

    (51)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))∧x3[4]=x3[5]COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])≥2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])∧(UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥))



    We simplified constraint (51) using rules (I), (II), (III) which results in the following new constraint:

    (52)    (>=(x3[4], x2[4])=TRUECOND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x3[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥))



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

    (53)    (0 ≥ 0 ⇒ (UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥)∧[(-1)bni_96 + (-1)Bound*bni_96] ≥ 0∧[1 + (-1)bso_97] + x3[4] ≥ 0)



    We simplified constraint (53) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (54)    (0 ≥ 0 ⇒ (UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥)∧[(-1)bni_96 + (-1)Bound*bni_96] ≥ 0∧[1 + (-1)bso_97] + x3[4] ≥ 0)



    We simplified constraint (54) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (55)    (0 ≥ 0 ⇒ (UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥)∧[(-1)bni_96 + (-1)Bound*bni_96] ≥ 0∧[1 + (-1)bso_97] + x3[4] ≥ 0)



    We simplified constraint (55) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (56)    (0 ≥ 0 ⇒ (UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_96 + (-1)Bound*bni_96] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_97] ≥ 0)







For Pair COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) which results in the following constraint:

    (57)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]java.lang.Object(QuicksortRec.List(x0[6], x1[6]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]=x3[2]COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (57) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (58)    (>=(x3[4], x2[4])=TRUECOND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x2[4])), x3[4])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x2[4])), x3[4])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x3[4])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (59)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (60)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (60) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (61)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (61) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (62)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_99] ≥ 0)



  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) which results in the following constraint:

    (63)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]java.lang.Object(QuicksortRec.List(x0[6], x1[6]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x2[4]1))∧x3[6]=x3[4]1COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (63) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (64)    (>=(x3[4], x2[4])=TRUECOND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x2[4])), x3[4])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x2[4])), x3[4])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x3[4])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (64) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (65)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (65) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (66)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (66) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (67)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧[(-1)bso_99] ≥ 0)



    We simplified constraint (67) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (68)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_99] ≥ 0)







For Pair 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1)), x0) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))) the following chains were created:
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (69)    (java.lang.Object(QuicksortRec.List(NULL, x1[7]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))), ≥))



    We solved constraint (69) using rules (I), (II).
  • We consider the chain 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (70)    (java.lang.Object(QuicksortRec.List(NULL, x1[7]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))), ≥))



    We solved constraint (70) using rules (I), (II).




For Pair 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), x2) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))) the following chains were created:
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (71)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8]))∧x3[5]=x2[8]java.lang.Object(QuicksortRec.List(NULL, x1[8]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))), ≥))



    We solved constraint (71) using rules (I), (II).
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (72)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8]))∧x3[5]=x2[8]java.lang.Object(QuicksortRec.List(NULL, x1[8]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))), ≥))



    We solved constraint (72) using rules (I), (II).




For Pair 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))) the following chains were created:
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (73)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9]))∧x3[5]=x4[9]java.lang.Object(QuicksortRec.List(NULL, x3[9]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))), ≥))



    We solved constraint (73) using rules (I), (II).
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (74)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9]))∧x3[5]=x4[9]java.lang.Object(QuicksortRec.List(NULL, x3[9]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))), ≥))



    We solved constraint (74) using rules (I), (II).




For Pair 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), x1) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2))) the following chains were created:
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (75)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10]))∧x3[5]=x1[10]java.lang.Object(QuicksortRec.List(NULL, x2[10]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))), ≥))



    We solved constraint (75) using rules (I), (II).
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (76)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10]))∧x3[5]=x1[10]java.lang.Object(QuicksortRec.List(NULL, x2[10]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))), ≥))



    We solved constraint (76) using rules (I), (II).




For Pair 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), x3) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4))) the following chains were created:
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (77)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11]))∧x3[5]=x3[11]java.lang.Object(QuicksortRec.List(NULL, x4[11]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))), ≥))



    We solved constraint (77) using rules (I), (II).
  • We consider the chain COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]), 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (78)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5])=3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11]))∧x3[5]=x3[11]java.lang.Object(QuicksortRec.List(NULL, x4[11]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11])≥NonInfC∧2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11])≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))), ≥))



    We solved constraint (78) using rules (I), (II).




For Pair 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2457_0_SORTEDHIGH_NONNULL(x0, NULL) the following chains were created:
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12]))) → 2457_0_SORTEDHIGH_NONNULL(x0[12], NULL), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (79)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2381_0_sortedLow_Return(x0[12])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(NULL, x0[12]))∧x0[12]=x2[13]NULL=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12])))≥2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)), ≥))



    We solved constraint (79) using rules (I), (II).
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12]))) → 2457_0_SORTEDHIGH_NONNULL(x0[12], NULL), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (80)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2381_0_sortedLow_Return(x0[12])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(NULL, x0[12]))∧x0[12]=x2[15]NULL=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12])))≥2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)), ≥))



    We solved constraint (80) using rules (I), (II).




For Pair 2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]) which results in the following constraint:

    (81)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (81) using rules (I), (II), (IV) which results in the following new constraint:

    (82)    (>=(x2[13], x1[13])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (82) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (83)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[(-1)bni_100 + (-1)Bound*bni_100] + [(-1)bni_100]x2[13] ≥ 0∧[(-1)bso_101] ≥ 0)



    We simplified constraint (83) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (84)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[(-1)bni_100 + (-1)Bound*bni_100] + [(-1)bni_100]x2[13] ≥ 0∧[(-1)bso_101] ≥ 0)



    We simplified constraint (84) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (85)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[(-1)bni_100 + (-1)Bound*bni_100] + [(-1)bni_100]x2[13] ≥ 0∧[(-1)bso_101] ≥ 0)



    We simplified constraint (85) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (86)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_100] ≥ 0∧[(-1)bni_100 + (-1)Bound*bni_100] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_101] ≥ 0)







For Pair COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (87)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[13]1x0[14]=java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (87) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (88)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (88) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (89)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (89) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (90)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (90) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (91)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (91) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (92)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_102] ≥ 0∧[(-1)bni_102 + (-1)Bound*bni_102] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_103] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (93)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[15]x0[14]=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (93) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (94)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (94) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (95)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (95) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (96)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (96) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (97)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(-1)bni_102 + (-1)Bound*bni_102] + [(-1)bni_102]x2[13] ≥ 0∧[(-1)bso_103] ≥ 0)



    We simplified constraint (97) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (98)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_102] ≥ 0∧[(-1)bni_102 + (-1)Bound*bni_102] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_103] ≥ 0)







For Pair 2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) which results in the following constraint:

    (99)    (<(x2[15], x1[15])=TRUEx2[15]=x2[16]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[16], x1[16])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (99) using rules (I), (II), (IV) which results in the following new constraint:

    (100)    (<(x2[15], x1[15])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (100) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (101)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (101) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (102)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (102) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (103)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (103) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (104)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_104] ≥ 0∧[(-1)bni_104 + (-1)Bound*bni_104] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_105] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]) which results in the following constraint:

    (105)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (105) using rules (I), (II), (IV) which results in the following new constraint:

    (106)    (<(x2[15], x1[15])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (106) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (107)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (107) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (108)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (108) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (109)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[(-1)bni_104 + (-1)Bound*bni_104] + [(-1)bni_104]x2[15] ≥ 0∧[(-1)bso_105] ≥ 0)



    We simplified constraint (109) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (110)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_104] ≥ 0∧[(-1)bni_104 + (-1)Bound*bni_104] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_105] ≥ 0)







For Pair COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2, x0), java.lang.Object(QuicksortRec.List(x0, x1))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) which results in the following constraint:

    (111)    (<(x2[15], x1[15])=TRUEx2[15]=x2[16]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[16], x1[16])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16])))≥2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))∧(UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥))



    We simplified constraint (111) using rules (I), (II), (III) which results in the following new constraint:

    (112)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[15], x0[15]), java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥))



    We simplified constraint (112) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (113)    (0 ≥ 0 ⇒ (UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥)∧[(-1)bni_106 + (-1)Bound*bni_106] + [(-1)bni_106]x2[15] ≥ 0∧[1 + (-1)bso_107] ≥ 0)



    We simplified constraint (113) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (114)    (0 ≥ 0 ⇒ (UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥)∧[(-1)bni_106 + (-1)Bound*bni_106] + [(-1)bni_106]x2[15] ≥ 0∧[1 + (-1)bso_107] ≥ 0)



    We simplified constraint (114) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (115)    (0 ≥ 0 ⇒ (UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥)∧[(-1)bni_106 + (-1)Bound*bni_106] + [(-1)bni_106]x2[15] ≥ 0∧[1 + (-1)bso_107] ≥ 0)



    We simplified constraint (115) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (116)    (0 ≥ 0 ⇒ (UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_106] ≥ 0∧[(-1)bni_106 + (-1)Bound*bni_106] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_107] ≥ 0)







For Pair COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (117)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[13]x0[17]=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (117) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (118)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (118) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (119)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (119) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (120)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (120) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (121)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (121) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (122)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_108] ≥ 0∧[(-1)bni_108 + (-1)Bound*bni_108] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_109] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (123)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[15]1x0[17]=java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (123) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (124)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (124) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (125)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (125) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (126)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (126) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (127)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(-1)bni_108 + (-1)Bound*bni_108] + [(-1)bni_108]x2[15] ≥ 0∧[(-1)bso_109] ≥ 0)



    We simplified constraint (127) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (128)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_108] ≥ 0∧[(-1)bni_108 + (-1)Bound*bni_108] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_109] ≥ 0)







For Pair 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))) the following chains were created:
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (129)    (java.lang.Object(QuicksortRec.List(NULL, x1[18]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))), ≥))



    We solved constraint (129) using rules (I), (II).
  • We consider the chain 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (130)    (java.lang.Object(QuicksortRec.List(NULL, x1[18]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))), ≥))



    We solved constraint (130) using rules (I), (II).




For Pair 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1))) the following chains were created:
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (131)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))∧java.lang.Object(QuicksortRec.List(NULL, x1[19]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))), ≥))



    We solved constraint (131) using rules (I), (II).
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (132)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))∧java.lang.Object(QuicksortRec.List(NULL, x1[19]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))), ≥))



    We solved constraint (132) using rules (I), (II).




For Pair 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3))) the following chains were created:
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (133)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))∧java.lang.Object(QuicksortRec.List(NULL, x3[20]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))), ≥))



    We solved constraint (133) using rules (I), (II).
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (134)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))∧java.lang.Object(QuicksortRec.List(NULL, x3[20]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))), ≥))



    We solved constraint (134) using rules (I), (II).




For Pair 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2))) the following chains were created:
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (135)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))∧java.lang.Object(QuicksortRec.List(NULL, x2[21]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))), ≥))



    We solved constraint (135) using rules (I), (II).
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (136)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))∧java.lang.Object(QuicksortRec.List(NULL, x2[21]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))), ≥))



    We solved constraint (136) using rules (I), (II).




For Pair 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4))) the following chains were created:
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) which results in the following constraint:

    (137)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))∧java.lang.Object(QuicksortRec.List(NULL, x4[22]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))), ≥))



    We solved constraint (137) using rules (I), (II).
  • We consider the chain COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16]))), 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22]))), 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]) which results in the following constraint:

    (138)    (2457_0_sortedHigh_NONNULL(x2[16], x0[16])=3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])))∧java.lang.Object(QuicksortRec.List(x0[16], x1[16]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))∧java.lang.Object(QuicksortRec.List(NULL, x4[22]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])) ⇒ 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22])))≥NonInfC∧2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22])))≥2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))∧(UIncreasing(2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))), ≥))



    We solved constraint (138) using rules (I), (II).




For Pair 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0))) the following chains were created:
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))) → 2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23]))), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (139)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))∧x1[23]=x2[13]java.lang.Object(QuicksortRec.List(NULL, x0[23]))=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23])))≥2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))), ≥))



    We solved constraint (139) using rules (I), (II).
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))) → 2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23]))), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (140)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))∧x1[23]=x2[15]java.lang.Object(QuicksortRec.List(NULL, x0[23]))=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23])))≥2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))), ≥))



    We solved constraint (140) using rules (I), (II).




For Pair 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) the following chains were created:
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))) → 2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24]))), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (141)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))∧x3[24]=x2[13]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24]))=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24])))≥2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))), ≥))



    We solved constraint (141) using rules (I), (II).
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))) → 2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24]))), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (142)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2260_0_quicksort_Returnjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))∧x3[24]=x2[15]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24]))=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24])))≥2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))), ≥))



    We solved constraint (142) using rules (I), (II).




For Pair 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0))) the following chains were created:
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))) → 2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25]))), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (143)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))∧x1[25]=x2[13]java.lang.Object(QuicksortRec.List(NULL, x0[25]))=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])))≥2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))), ≥))



    We solved constraint (143) using rules (I), (II).
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))) → 2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25]))), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (144)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))∧x1[25]=x2[15]java.lang.Object(QuicksortRec.List(NULL, x0[25]))=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25])))≥2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))), ≥))



    We solved constraint (144) using rules (I), (II).




For Pair 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) the following chains were created:
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))) → 2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26]))), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (145)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))∧x3[26]=x2[13]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26]))=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])))≥2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))), ≥))



    We solved constraint (145) using rules (I), (II).
  • We consider the chain 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))), 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))) → 2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26]))), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (146)    (2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])=3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])∧java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))∧x3[26]=x2[15]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26]))=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])))≥NonInfC∧2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26])))≥2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))), ≥))



    We solved constraint (146) using rules (I), (II).




To summarize, we get the following constraints P for the following pairs.
  • 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

  • 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x2)

  • 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT(<(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_90 + (-1)Bound*bni_90] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_91] ≥ 0)

  • COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_93] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_92 + (-1)Bound*bni_92] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_93] ≥ 0)

  • 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → COND_2397_0_SORTEDLOW_GT1(>=(x3, x2), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_95] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_94 + (-1)Bound*bni_94] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_95] ≥ 0)

  • COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
    • (0 ≥ 0 ⇒ (UIncreasing(2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_96 + (-1)Bound*bni_96] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_97] ≥ 0)

  • COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0, x1)), x3)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_99] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_98 + (-1)Bound*bni_98] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_99] ≥ 0)

  • 2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1)), x0) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))

  • 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)), x2) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))

  • 2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)), x4) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3)))

  • 2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2)), x1) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2)))

  • 2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4)), x3) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4)))

  • 2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2457_0_SORTEDHIGH_NONNULL(x0, NULL)

  • 2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_100] ≥ 0∧[(-1)bni_100 + (-1)Bound*bni_100] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_101] ≥ 0)

  • COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_102] ≥ 0∧[(-1)bni_102 + (-1)Bound*bni_102] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_103] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_102] ≥ 0∧[(-1)bni_102 + (-1)Bound*bni_102] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_103] ≥ 0)

  • 2457_0_SORTEDHIGH_NONNULL(x2, java.lang.Object(QuicksortRec.List(x0, x1))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2, x1), x2, java.lang.Object(QuicksortRec.List(x0, x1)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_104] ≥ 0∧[(-1)bni_104 + (-1)Bound*bni_104] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_105] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_104] ≥ 0∧[(-1)bni_104 + (-1)Bound*bni_104] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_105] ≥ 0)

  • COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2, x0), java.lang.Object(QuicksortRec.List(x0, x1)))
    • (0 ≥ 0 ⇒ (UIncreasing(2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_106] ≥ 0∧[(-1)bni_106 + (-1)Bound*bni_106] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_107] ≥ 0)

  • COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2, java.lang.Object(QuicksortRec.List(x0, x1))) → 2457_0_SORTEDHIGH_NONNULL(x2, x0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_108] ≥ 0∧[(-1)bni_108 + (-1)Bound*bni_108] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_109] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_108] ≥ 0∧[(-1)bni_108 + (-1)Bound*bni_108] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_109] ≥ 0)

  • 2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0), java.lang.Object(QuicksortRec.List(NULL, x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))

  • 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1)))

  • 2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3)))

  • 2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x2))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2)))

  • 2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x4))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4)))

  • 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0)))

  • 2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

  • 2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0)), x1))) → 2457_0_SORTEDHIGH_NONNULL(x1, java.lang.Object(QuicksortRec.List(NULL, x0)))

  • 2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3))) → 2457_0_SORTEDHIGH_NONNULL(x3, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))




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 with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(2218_0_quicksort_NONNULL(x1)) = 0   
POL(NULL) = 0   
POL(2260_0_quicksort_Return) = 0   
POL(2434_1_sortedLow_InvokeMethod(x1, x2, x3)) = 0   
POL(2381_0_sortedLow_Return(x1)) = [1] + x1   
POL(java.lang.Object(x1)) = 0   
POL(QuicksortRec.List(x1, x2)) = 0   
POL(2610_1_sortedLow_InvokeMethod(x1, x2, x3)) = 0   
POL(2717_0_sortedLow_Return(x1, x2)) = 0   
POL(3015_0_sortedLow_Return(x1, x2)) = 0   
POL(2911_1_sortedLow_InvokeMethod(x1, x2, x3, x4)) = 0   
POL(2457_0_sortedHigh_NONNULL(x1, x2)) = [1] + x1   
POL(2582_1_sortedHigh_InvokeMethod(x1, x2)) = 0   
POL(2832_1_sortedHigh_InvokeMethod(x1, x2)) = 0   
POL(2886_0_sortedHigh_Return(x1)) = 0   
POL(3123_0_sortedHigh_Return(x1)) = 0   
POL(3085_1_sortedHigh_InvokeMethod(x1, x2, x3)) = 0   
POL(2441_1_quicksort_InvokeMethod(x1)) = 0   
POL(2861_1_quicksort_InvokeMethod(x1, x2)) = 0   
POL(2218_0_QUICKSORT_NONNULL(x1)) = [-1] + [-1]x1   
POL(2337_1_QUICKSORT_INVOKEMETHOD(x1, x2)) = [-1] + [-1]x2 + [-1]x1   
POL(2397_0_sortedLow_GT(x1, x2)) = [1]   
POL(2397_0_SORTEDLOW_GT(x1, x2)) = [-1] + [-1]x1   
POL(COND_2397_0_SORTEDLOW_GT(x1, x2, x3)) = [-1] + [-1]x2   
POL(<(x1, x2)) = 0   
POL(COND_2397_0_SORTEDLOW_GT1(x1, x2, x3)) = [-1] + [-1]x2   
POL(>=(x1, x2)) = 0   
POL(2450_1_SORTEDLOW_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [-1]x1   
POL(2457_0_SORTEDHIGH_NONNULL(x1, x2)) = [-1] + [-1]x2 + [-1]x1   
POL(COND_2457_0_SORTEDHIGH_NONNULL(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2   
POL(COND_2457_0_SORTEDHIGH_NONNULL1(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2   
POL(2613_1_SORTEDHIGH_INVOKEMETHOD(x1, x2)) = [-1] + [-1]x2 + [-1]x1   

The following pairs are in P>:

2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))
2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])
2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))
2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))
2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))
2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12]))) → 2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)
COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))
2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))) → 2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))) → 2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))
2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))) → 2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))
2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))) → 2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))

The following pairs are in Pbound:

2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]))) → 2337_1_QUICKSORT_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[0], x1[0])), x2[0])))
2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1]))) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[1], x1[1])), x2[1])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])
COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5]) → 2450_1_SORTEDLOW_INVOKEMETHOD(2397_0_sortedLow_GT(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x3[5]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[5], x1[5])), x2[5])), x3[5])
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
2450_1_SORTEDLOW_INVOKEMETHOD(2381_0_sortedLow_Return(x0[7]), java.lang.Object(QuicksortRec.List(NULL, x1[7])), x0[7]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[7])))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[8])), x1[8])), x2[8]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[8])))
2450_1_SORTEDLOW_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[9], x1[9])), x2[9])), x3[9])), x4[9]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[9])))
2450_1_SORTEDLOW_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x1[10]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[10])), x2[10])), x1[10]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[10])))
2450_1_SORTEDLOW_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x3[11]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[11], x1[11])), x2[11])), x4[11])), x3[11]) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[11])))
2337_1_QUICKSORT_INVOKEMETHOD(2381_0_sortedLow_Return(x0[12]), java.lang.Object(QuicksortRec.List(NULL, x0[12]))) → 2457_0_SORTEDHIGH_NONNULL(x0[12], NULL)
2613_1_SORTEDHIGH_INVOKEMETHOD(2381_0_sortedLow_Return(x0[18]), java.lang.Object(QuicksortRec.List(NULL, x1[18]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[18])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[19])), x1[19]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x1[19])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[20], x1[20])), x2[20])), x3[20]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x3[20])))
2613_1_SORTEDHIGH_INVOKEMETHOD(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0[21]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[21])), x2[21]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x2[21])))
2613_1_SORTEDHIGH_INVOKEMETHOD(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22]))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[22], x1[22])), x2[22])), x4[22]))) → 2218_0_QUICKSORT_NONNULL(java.lang.Object(QuicksortRec.List(NULL, x4[22])))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[23])), x1[23]))) → 2457_0_SORTEDHIGH_NONNULL(x1[23], java.lang.Object(QuicksortRec.List(NULL, x0[23])))
2337_1_QUICKSORT_INVOKEMETHOD(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])), x3[24]))) → 2457_0_SORTEDHIGH_NONNULL(x3[24], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[24], x1[24])), x2[24])))
2337_1_QUICKSORT_INVOKEMETHOD(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(NULL, x0[25])), x1[25]))) → 2457_0_SORTEDHIGH_NONNULL(x1[25], java.lang.Object(QuicksortRec.List(NULL, x0[25])))
2337_1_QUICKSORT_INVOKEMETHOD(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])), x3[26]))) → 2457_0_SORTEDHIGH_NONNULL(x3[26], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[26], x1[26])), x2[26])))

The following pairs are in P:

2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])
COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])

At least the following rules have been oriented under context sensitive arithmetic replacement:

2381_0_sortedLow_Return(x0)12457_0_sortedHigh_NONNULL(x0, NULL)1

(9) Complex Obligation (AND)

(10) 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


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(2): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(x3[2] < x2[2], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])
(3): COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
(4): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(x3[4] >= x2[4], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
(6): COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])

(3) -> (2), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[3]* x3[2])


(6) -> (2), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]* x3[2])


(2) -> (3), if (x3[2] < x2[2]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]* x3[3])


(3) -> (4), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]* x3[4])


(6) -> (4), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[6]* x3[4])


(4) -> (6), if (x3[4] >= x2[4]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]* x3[6])


(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(11) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs.

(12) Complex Obligation (AND)

(13) 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


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(6): COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
(4): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(x3[4] >= x2[4], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
(3): COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
(2): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(x3[2] < x2[2], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])

(3) -> (2), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[3]* x3[2])


(6) -> (2), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]* x3[2])


(2) -> (3), if (x3[2] < x2[2]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]* x3[3])


(3) -> (4), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]* x3[4])


(6) -> (4), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[6]* x3[4])


(4) -> (6), if (x3[4] >= x2[4]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]* x3[6])



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

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

(15) 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:
(6): COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
(4): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(x3[4] >= x2[4], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
(3): COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
(2): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(x3[2] < x2[2], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])

(3) -> (2), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[3]* x3[2])


(6) -> (2), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]* x3[2])


(2) -> (3), if (x3[2] < x2[2]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]* x3[3])


(3) -> (4), if (java.lang.Object(QuicksortRec.List(x0[3], x1[3])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]* x3[4])


(6) -> (4), if (java.lang.Object(QuicksortRec.List(x0[6], x1[6])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[6]* x3[4])


(4) -> (6), if (x3[4] >= x2[4]java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])) →* java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]* x3[6])



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(16) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@32fde63f Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) which results in the following constraint:

    (1)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]java.lang.Object(QuicksortRec.List(x0[6], x1[6]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))∧x3[6]=x3[2]COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (2)    (>=(x3[4], x2[4])=TRUECOND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x2[4])), x3[4])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x2[4])), x3[4])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x1[4])), x3[4])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[2] ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[2] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[2] ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[2] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[2] ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[2] ≥ 0)



    We simplified constraint (5) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(1458)bni_17] ≥ 0∧[(1637)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1458 + (-1)bso_18] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) which results in the following constraint:

    (7)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]java.lang.Object(QuicksortRec.List(x0[6], x1[6]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x2[4]1))∧x3[6]=x3[4]1COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (8)    (>=(x3[4], x2[4])=TRUECOND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x2[4])), x3[4])≥NonInfC∧COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x2[4])), x3[4])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4]1, x1[4]1)), x1[4])), x3[4])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[4]1 ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[4]1 ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[4]1 ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[4]1 ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[(1637)bni_17 + (-1)Bound*bni_17] + [bni_17]x3[4] + [(1458)bni_17]x0[4]1 ≥ 0∧[1458 + (-1)bso_18] + [1296]x0[4]1 ≥ 0)



    We simplified constraint (11) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(1458)bni_17] ≥ 0∧[(1637)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1458 + (-1)bso_18] ≥ 0∧[1] ≥ 0)







For Pair 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]), COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6]) which results in the following constraint:

    (13)    (>=(x3[4], x2[4])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6]))∧x3[4]=x3[6]2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (13) using rules (I), (II), (IV) which results in the following new constraint:

    (14)    (>=(x3[4], x2[4])=TRUE2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])≥COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(179)bni_19 + (-1)Bound*bni_19] + [bni_19]x3[4] + [(162)bni_19]x0[4] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(179)bni_19 + (-1)Bound*bni_19] + [bni_19]x3[4] + [(162)bni_19]x0[4] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[(179)bni_19 + (-1)Bound*bni_19] + [bni_19]x3[4] + [(162)bni_19]x0[4] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(162)bni_19] ≥ 0∧[(179)bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)







For Pair COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) which results in the following constraint:

    (19)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]java.lang.Object(QuicksortRec.List(x0[3], x1[3]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x2[2]1))∧x3[3]=x3[2]1COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (19) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (20)    (<(x3[2], x2[2])=TRUECOND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x2[2])), x3[2])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x2[2])), x3[2])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2]1, x1[2]1)), x1[2])), x3[2])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[2]1 ≥ 0∧[639 + (-1)bso_22] + [567]x0[2]1 ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[2]1 ≥ 0∧[639 + (-1)bso_22] + [567]x0[2]1 ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[2]1 ≥ 0∧[639 + (-1)bso_22] + [567]x0[2]1 ≥ 0)



    We simplified constraint (23) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(729)bni_21] ≥ 0∧[(818)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[639 + (-1)bso_22] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]), 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) which results in the following constraint:

    (25)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]java.lang.Object(QuicksortRec.List(x0[3], x1[3]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4]))∧x3[3]=x3[4]COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (25) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (26)    (<(x3[2], x2[2])=TRUECOND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x2[2])), x3[2])≥NonInfC∧COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x2[2])), x3[2])≥2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x1[2])), x3[2])∧(UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[4] ≥ 0∧[639 + (-1)bso_22] + [567]x0[4] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[4] ≥ 0∧[639 + (-1)bso_22] + [567]x0[4] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[(818)bni_21 + (-1)Bound*bni_21] + [bni_21]x3[2] + [(729)bni_21]x0[4] ≥ 0∧[639 + (-1)bso_22] + [567]x0[4] ≥ 0)



    We simplified constraint (29) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(729)bni_21] ≥ 0∧[(818)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[639 + (-1)bso_22] ≥ 0∧[1] ≥ 0)







For Pair 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) the following chains were created:
  • We consider the chain 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]), COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3]) which results in the following constraint:

    (31)    (<(x3[2], x2[2])=TRUEjava.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2]))=java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3]))∧x3[2]=x3[3]2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥))



    We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint:

    (32)    (<(x3[2], x2[2])=TRUE2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥NonInfC∧2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])≥COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])∧(UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(179)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[2] + [(162)bni_23]x0[2] ≥ 0∧[90 + (-1)bso_24] + [81]x0[2] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(179)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[2] + [(162)bni_23]x0[2] ≥ 0∧[90 + (-1)bso_24] + [81]x0[2] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[(179)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[2] + [(162)bni_23]x0[2] ≥ 0∧[90 + (-1)bso_24] + [81]x0[2] ≥ 0)



    We simplified constraint (35) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(162)bni_23] ≥ 0∧[(179)bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[90 + (-1)bso_24] ≥ 0∧[1] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(1458)bni_17] ≥ 0∧[(1637)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1458 + (-1)bso_18] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])), ≥)∧[bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(1458)bni_17] ≥ 0∧[(1637)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1458 + (-1)bso_18] ≥ 0∧[1] ≥ 0)

  • 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])), ≥)∧[bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(162)bni_19] ≥ 0∧[(179)bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)

  • COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(729)bni_21] ≥ 0∧[(818)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[639 + (-1)bso_22] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])), ≥)∧[bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(729)bni_21] ≥ 0∧[(818)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[639 + (-1)bso_22] ≥ 0∧[1] ≥ 0)

  • 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])), ≥)∧[bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(162)bni_23] ≥ 0∧[(179)bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[90 + (-1)bso_24] ≥ 0∧[1] ≥ 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 with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(COND_2397_0_SORTEDLOW_GT1(x1, x2, x3)) = [-1] + x3 + [2]x2   
POL(java.lang.Object(x1)) = [3] + [3]x1   
POL(QuicksortRec.List(x1, x2)) = [2] + [3]x1   
POL(2397_0_SORTEDLOW_GT(x1, x2)) = [-1] + x2 + [2]x1   
POL(>=(x1, x2)) = 0   
POL(COND_2397_0_SORTEDLOW_GT(x1, x2, x3)) = [-1] + x3 + x2   
POL(<(x1, x2)) = 0   

The following pairs are in P>:

COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])

The following pairs are in Pbound:

COND_2397_0_SORTEDLOW_GT1(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x2[6])), x3[6]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[6], x1[6])), x3[6])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])
COND_2397_0_SORTEDLOW_GT(TRUE, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x2[3])), x3[3]) → 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(x0[3], x1[3])), x3[3])
2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2]) → COND_2397_0_SORTEDLOW_GT(<(x3[2], x2[2]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[2], x1[2])), x2[2])), x3[2])

The following pairs are in P:

2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(>=(x3[4], x2[4]), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])

There are no usable rules.

(17) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(4): 2397_0_SORTEDLOW_GT(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4]) → COND_2397_0_SORTEDLOW_GT1(x3[4] >= x2[4], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[4], x1[4])), x2[4])), x3[4])


The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(18) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(19) TRUE

(20) 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


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

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

(22) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(23) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@32fde63f Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (1)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[13]x0[17]=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (2)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (5) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (7)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[15]1x0[17]=java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (8)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (11) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)







For Pair 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]) which results in the following constraint:

    (13)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (13) using rules (I), (II), (IV) which results in the following new constraint:

    (14)    (<(x2[15], x1[15])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧[(2)bni_19] ≥ 0∧[bni_19] ≥ 0∧[bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)







For Pair COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (19)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[13]1x0[14]=java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (19) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (20)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (23) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (25)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[15]x0[14]=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (25) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (26)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (29) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)







For Pair 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]) which results in the following constraint:

    (31)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint:

    (32)    (>=(x2[13], x1[13])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧[(2)bni_23] ≥ 0∧[bni_23] ≥ 0∧[bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_24] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)

  • 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧[(2)bni_19] ≥ 0∧[bni_19] ≥ 0∧[bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)

  • COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)

  • 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧[(2)bni_23] ≥ 0∧[bni_23] ≥ 0∧[bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_24] ≥ 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 with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(COND_2457_0_SORTEDHIGH_NONNULL1(x1, x2, x3)) = [-1] + x3 + x2   
POL(java.lang.Object(x1)) = [2] + [2]x1   
POL(QuicksortRec.List(x1, x2)) = x1   
POL(2457_0_SORTEDHIGH_NONNULL(x1, x2)) = [-1] + x2 + x1   
POL(<(x1, x2)) = 0   
POL(COND_2457_0_SORTEDHIGH_NONNULL(x1, x2, x3)) = [-1] + x3 + x2   
POL(>=(x1, x2)) = 0   

The following pairs are in P>:

COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])

The following pairs are in Pbound:

COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

The following pairs are in P:

2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

There are no usable rules.

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

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(25) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(26) TRUE

(27) 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


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(16): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[16], java.lang.Object(QuicksortRec.List(x0[16], x1[16]))) → 2613_1_SORTEDHIGH_INVOKEMETHOD(2457_0_sortedHigh_NONNULL(x2[16], x0[16]), java.lang.Object(QuicksortRec.List(x0[16], x1[16])))
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])

(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (16), if (x2[15] < x1[15]x2[15]* x2[16]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[16], x1[16])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(28) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(29) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
2218_0_quicksort_NONNULL(NULL) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x1, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1) → 2260_0_quicksort_Return
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3) → 2260_0_quicksort_Return
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2))) → 3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2457_0_sortedHigh_NONNULL(x0, NULL) → 2381_0_sortedLow_Return(x0)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2))) → 3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0)) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0))) → 2260_0_quicksort_Return
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))) → 2260_0_quicksort_Return

The integer pair graph contains the following rules and edges:
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

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

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

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(17): COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(14): COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

(14) -> (13), if (x2[14]* x2[13]x0[14]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(17) -> (13), if (x2[17]* x2[13]x0[17]* java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


(13) -> (14), if (x2[13] >= x1[13]x2[13]* x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13])) →* java.lang.Object(QuicksortRec.List(x0[14], x1[14])))


(14) -> (15), if (x2[14]* x2[15]x0[14]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(17) -> (15), if (x2[17]* x2[15]x0[17]* java.lang.Object(QuicksortRec.List(x0[15], x1[15])))


(15) -> (17), if (x2[15] < x1[15]x2[15]* x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15])) →* java.lang.Object(QuicksortRec.List(x0[17], x1[17])))



The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(32) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@32fde63f Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (1)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[13]x0[17]=java.lang.Object(QuicksortRec.List(x0[13], x1[13])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (2)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13], x1[13])), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[13] + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[13] ≥ 0)



    We simplified constraint (5) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (7)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17]))∧x2[17]=x2[15]1x0[17]=java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17])))≥2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (8)    (<(x2[15], x1[15])=TRUECOND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[15], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)), x1[15])))≥2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15]1, x1[15]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧[(5)bni_17 + (-1)Bound*bni_17] + [(4)bni_17]x0[15]1 + [bni_17]x2[15] ≥ 0∧[4 + (-1)bso_18] + [2]x0[15]1 ≥ 0)



    We simplified constraint (11) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)







For Pair 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))), COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17]) which results in the following constraint:

    (13)    (<(x2[15], x1[15])=TRUEx2[15]=x2[17]java.lang.Object(QuicksortRec.List(x0[15], x1[15]))=java.lang.Object(QuicksortRec.List(x0[17], x1[17])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (13) using rules (I), (II), (IV) which results in the following new constraint:

    (14)    (<(x2[15], x1[15])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))≥COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧[bni_19 + (-1)Bound*bni_19] + [(2)bni_19]x0[15] + [bni_19]x2[15] ≥ 0∧[(-1)bso_20] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧[(2)bni_19] ≥ 0∧[bni_19] ≥ 0∧[bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)







For Pair COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) which results in the following constraint:

    (19)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[13]1x0[14]=java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (19) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (20)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13]1, x1[13]1)))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[13]1 + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[13]1 ≥ 0)



    We simplified constraint (23) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)



  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]), 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) which results in the following constraint:

    (25)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14]))∧x2[14]=x2[15]x0[14]=java.lang.Object(QuicksortRec.List(x0[15], x1[15])) ⇒ COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14])))≥2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (25) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (26)    (>=(x2[13], x1[13])=TRUECOND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥NonInfC∧COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[13], java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0[15], x1[15])), x1[13])))≥2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))∧(UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧[(5)bni_21 + (-1)Bound*bni_21] + [(4)bni_21]x0[15] + [bni_21]x2[13] ≥ 0∧[4 + (-1)bso_22] + [2]x0[15] ≥ 0)



    We simplified constraint (29) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)







For Pair 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) the following chains were created:
  • We consider the chain 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))), COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14]) which results in the following constraint:

    (31)    (>=(x2[13], x1[13])=TRUEx2[13]=x2[14]java.lang.Object(QuicksortRec.List(x0[13], x1[13]))=java.lang.Object(QuicksortRec.List(x0[14], x1[14])) ⇒ 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (31) using rules (I), (II), (IV) which results in the following new constraint:

    (32)    (>=(x2[13], x1[13])=TRUE2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥NonInfC∧2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))≥COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))∧(UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(2)bni_23]x0[13] + [bni_23]x2[13] ≥ 0∧[(-1)bso_24] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧[(2)bni_23] ≥ 0∧[bni_23] ≥ 0∧[bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_24] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_17] ≥ 0∧[bni_17] ≥ 0∧[(5)bni_17 + (-1)Bound*bni_17] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_18] ≥ 0∧[1] ≥ 0)

  • 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))), ≥)∧0 ≥ 0∧[(2)bni_19] ≥ 0∧[bni_19] ≥ 0∧[bni_19 + (-1)Bound*bni_19] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_20] ≥ 0)

  • COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])), ≥)∧0 ≥ 0∧0 ≥ 0∧[(4)bni_21] ≥ 0∧[bni_21] ≥ 0∧[(5)bni_21 + (-1)Bound*bni_21] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_22] ≥ 0∧[1] ≥ 0)

  • 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))), ≥)∧0 ≥ 0∧[(2)bni_23] ≥ 0∧[bni_23] ≥ 0∧[bni_23 + (-1)Bound*bni_23] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_24] ≥ 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 with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(COND_2457_0_SORTEDHIGH_NONNULL1(x1, x2, x3)) = [-1] + x3 + x2   
POL(java.lang.Object(x1)) = [2] + [2]x1   
POL(QuicksortRec.List(x1, x2)) = x1   
POL(2457_0_SORTEDHIGH_NONNULL(x1, x2)) = [-1] + x2 + x1   
POL(<(x1, x2)) = 0   
POL(COND_2457_0_SORTEDHIGH_NONNULL(x1, x2, x3)) = [-1] + x3 + x2   
POL(>=(x1, x2)) = 0   

The following pairs are in P>:

COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])

The following pairs are in Pbound:

COND_2457_0_SORTEDHIGH_NONNULL1(TRUE, x2[17], java.lang.Object(QuicksortRec.List(x0[17], x1[17]))) → 2457_0_SORTEDHIGH_NONNULL(x2[17], x0[17])
2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
COND_2457_0_SORTEDHIGH_NONNULL(TRUE, x2[14], java.lang.Object(QuicksortRec.List(x0[14], x1[14]))) → 2457_0_SORTEDHIGH_NONNULL(x2[14], x0[14])
2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

The following pairs are in P:

2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(<(x2[15], x1[15]), x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(>=(x2[13], x1[13]), x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))

There are no usable rules.

(33) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(15): 2457_0_SORTEDHIGH_NONNULL(x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15]))) → COND_2457_0_SORTEDHIGH_NONNULL1(x2[15] < x1[15], x2[15], java.lang.Object(QuicksortRec.List(x0[15], x1[15])))
(13): 2457_0_SORTEDHIGH_NONNULL(x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13]))) → COND_2457_0_SORTEDHIGH_NONNULL(x2[13] >= x1[13], x2[13], java.lang.Object(QuicksortRec.List(x0[13], x1[13])))


The set Q consists of the following terms:
2218_0_quicksort_NONNULL(NULL)
2434_1_sortedLow_InvokeMethod(2381_0_sortedLow_Return(x0), NULL, x0)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2610_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, x0, java.lang.Object(QuicksortRec.List(NULL, x1)))
2434_1_sortedLow_InvokeMethod(2717_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(NULL, x0)), x1), java.lang.Object(QuicksortRec.List(NULL, x0)), x1)
2434_1_sortedLow_InvokeMethod(3015_0_sortedLow_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3)
2911_1_sortedLow_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), x3, java.lang.Object(QuicksortRec.List(NULL, x2)))
2457_0_sortedHigh_NONNULL(x0, NULL)
2582_1_sortedHigh_InvokeMethod(2381_0_sortedLow_Return(x0), NULL)
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2832_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2582_1_sortedHigh_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
3085_1_sortedHigh_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)), java.lang.Object(QuicksortRec.List(NULL, x2)))
2441_1_quicksort_InvokeMethod(2381_0_sortedLow_Return(x0))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(2260_0_quicksort_Return, java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))
2861_1_quicksort_InvokeMethod(2886_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(NULL, x0))), java.lang.Object(QuicksortRec.List(NULL, x0)))
2861_1_quicksort_InvokeMethod(3123_0_sortedHigh_Return(java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2))), java.lang.Object(QuicksortRec.List(java.lang.Object(QuicksortRec.List(x0, x1)), x2)))

(34) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(35) TRUE

(36) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: QuicksortRec.QuicksortRec.createList(I)LQuicksortRec/List;
SCC calls the following helper methods: QuicksortRec.QuicksortRec.createList(I)LQuicksortRec/List;
Performed SCC analyses: UsedFieldsAnalysis

(37) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 51 rules for P and 109 rules for R.


P rules:
862_0_createList_GT(EOS(STATIC_862(i177)), i186, i186) → 872_0_createList_GT(EOS(STATIC_872(i177)), i186, i186)
872_0_createList_GT(EOS(STATIC_872(i177)), i186, i186) → 893_0_createList_New(EOS(STATIC_893(i177)), i186) | >(i186, 0)
893_0_createList_New(EOS(STATIC_893(i177)), i186) → 926_0_createList_Duplicate(EOS(STATIC_926(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)))
926_0_createList_Duplicate(EOS(STATIC_926(i177)), i186, java.lang.Object(QuicksortRec.List(EOC))) → 940_0_createList_InvokeMethod(EOS(STATIC_940(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
940_0_createList_InvokeMethod(EOS(STATIC_940(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 955_0_random_FieldAccess(EOS(STATIC_955(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
955_0_random_FieldAccess(EOS(STATIC_955(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 1011_0_random_ArrayLength(EOS(STATIC_1011(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)))
1011_0_random_ArrayLength(EOS(STATIC_1011(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28))) → 1020_0_random_FieldAccess(EOS(STATIC_1020(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28) | >=(i28, 0)
1020_0_random_FieldAccess(EOS(STATIC_1020(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28) → 1030_0_random_GT(EOS(STATIC_1030(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177)
1030_0_random_GT(EOS(STATIC_1030(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177) → 1039_0_random_GT(EOS(STATIC_1039(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177)
1030_0_random_GT(EOS(STATIC_1030(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177) → 1041_0_random_GT(EOS(STATIC_1041(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177)
1039_0_random_GT(EOS(STATIC_1039(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177) → 1051_0_random_FieldAccess(EOS(STATIC_1051(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) | >(i28, i177)
1051_0_random_FieldAccess(EOS(STATIC_1051(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 1061_0_random_FieldAccess(EOS(STATIC_1061(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)))
1061_0_random_FieldAccess(EOS(STATIC_1061(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28))) → 1076_0_random_ArrayAccess(EOS(STATIC_1076(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177)
1076_0_random_ArrayAccess(EOS(STATIC_1076(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177) → 1088_0_random_ArrayAccess(EOS(STATIC_1088(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177)
1088_0_random_ArrayAccess(EOS(STATIC_1088(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177) → 1103_0_random_Store(EOS(STATIC_1103(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298) | <(i177, i28)
1103_0_random_Store(EOS(STATIC_1103(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298) → 1119_0_random_FieldAccess(EOS(STATIC_1119(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298)
1119_0_random_FieldAccess(EOS(STATIC_1119(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298) → 1131_0_random_ConstantStackPush(EOS(STATIC_1131(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, i177)
1131_0_random_ConstantStackPush(EOS(STATIC_1131(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, i177) → 1142_0_random_IntArithmetic(EOS(STATIC_1142(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, i177, 1)
1142_0_random_IntArithmetic(EOS(STATIC_1142(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, i177, matching1) → 1157_0_random_FieldAccess(EOS(STATIC_1157(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, +(i177, 1)) | &&(>=(i177, 0), =(matching1, 1))
1157_0_random_FieldAccess(EOS(STATIC_1157(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, i289) → 1169_0_random_Load(EOS(STATIC_1169(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298)
1169_0_random_Load(EOS(STATIC_1169(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298) → 1195_0_random_NONNULL(EOS(STATIC_1195(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), o298, o298)
1195_0_random_NONNULL(EOS(STATIC_1195(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub)) → 1215_0_random_NONNULL(EOS(STATIC_1215(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub))
1195_0_random_NONNULL(EOS(STATIC_1195(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL, NULL) → 1216_0_random_NONNULL(EOS(STATIC_1216(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL, NULL)
1215_0_random_NONNULL(EOS(STATIC_1215(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub)) → 1225_0_random_Load(EOS(STATIC_1225(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub))
1225_0_random_Load(EOS(STATIC_1225(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub)) → 1237_0_random_InvokeMethod(EOS(STATIC_1237(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub))
1237_0_random_InvokeMethod(EOS(STATIC_1237(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub)) → 1248_0_length_Load(EOS(STATIC_1248(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub))
1248_0_length_Load(EOS(STATIC_1248(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub)) → 1280_0_length_FieldAccess(EOS(STATIC_1280(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(o334sub), java.lang.Object(o334sub))
1280_0_length_FieldAccess(EOS(STATIC_1280(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.String(o359sub, i339)), java.lang.Object(java.lang.String(o359sub, i339))) → 1304_0_length_FieldAccess(EOS(STATIC_1304(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.String(o359sub, i339)), java.lang.Object(java.lang.String(o359sub, i339))) | &&(>=(i339, 0), >=(i340, 0))
1304_0_length_FieldAccess(EOS(STATIC_1304(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.String(o359sub, i339)), java.lang.Object(java.lang.String(o359sub, i339))) → 1321_0_length_Return(EOS(STATIC_1321(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.String(o359sub, i339)), i339)
1321_0_length_Return(EOS(STATIC_1321(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.String(o359sub, i339)), i339) → 1334_0_random_Return(EOS(STATIC_1334(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339)
1334_0_random_Return(EOS(STATIC_1334(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339) → 1349_0_createList_Load(EOS(STATIC_1349(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339)
1349_0_createList_Load(EOS(STATIC_1349(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339) → 1361_0_createList_ConstantStackPush(EOS(STATIC_1361(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i186)
1361_0_createList_ConstantStackPush(EOS(STATIC_1361(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i186) → 1383_0_createList_IntArithmetic(EOS(STATIC_1383(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i186, 1)
1383_0_createList_IntArithmetic(EOS(STATIC_1383(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i186, matching1) → 1401_0_createList_InvokeMethod(EOS(STATIC_1401(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, -(i186, 1)) | &&(>(i186, 0), =(matching1, 1))
1401_0_createList_InvokeMethod(EOS(STATIC_1401(i289)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i368) → 1416_1_createList_InvokeMethod(1416_0_createList_Load(EOS(STATIC_1416(i289)), i368), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i368)
1416_0_createList_Load(EOS(STATIC_1416(i289)), i368) → 1435_0_createList_Load(EOS(STATIC_1435(i289)), i368)
1435_0_createList_Load(EOS(STATIC_1435(i289)), i368) → 848_0_createList_Load(EOS(STATIC_848(i289)), i368)
848_0_createList_Load(EOS(STATIC_848(i177)), i176) → 862_0_createList_GT(EOS(STATIC_862(i177)), i176, i176)
1216_0_random_NONNULL(EOS(STATIC_1216(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL, NULL) → 1226_0_random_ConstantStackPush(EOS(STATIC_1226(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL)
1226_0_random_ConstantStackPush(EOS(STATIC_1226(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL) → 1239_0_random_Return(EOS(STATIC_1239(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL, 0)
1239_0_random_Return(EOS(STATIC_1239(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), NULL, matching1) → 1250_0_createList_Load(EOS(STATIC_1250(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0) | =(matching1, 0)
1250_0_createList_Load(EOS(STATIC_1250(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1) → 1349_0_createList_Load(EOS(STATIC_1349(i289)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0) | =(matching1, 0)
1041_0_random_GT(EOS(STATIC_1041(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i28, i177) → 1053_0_random_ConstantStackPush(EOS(STATIC_1053(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) | <=(i28, i177)
1053_0_random_ConstantStackPush(EOS(STATIC_1053(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 1063_0_random_Return(EOS(STATIC_1063(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0)
1063_0_random_Return(EOS(STATIC_1063(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1) → 1078_0_createList_Load(EOS(STATIC_1078(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0) | =(matching1, 0)
1078_0_createList_Load(EOS(STATIC_1078(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1) → 1091_0_createList_ConstantStackPush(EOS(STATIC_1091(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i186) | =(matching1, 0)
1091_0_createList_ConstantStackPush(EOS(STATIC_1091(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i186) → 1107_0_createList_IntArithmetic(EOS(STATIC_1107(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i186, 1) | =(matching1, 0)
1107_0_createList_IntArithmetic(EOS(STATIC_1107(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i186, matching2) → 1121_0_createList_InvokeMethod(EOS(STATIC_1121(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, -(i186, 1)) | &&(&&(>(i186, 0), =(matching1, 0)), =(matching2, 1))
1121_0_createList_InvokeMethod(EOS(STATIC_1121(i177)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i282) → 1135_1_createList_InvokeMethod(1135_0_createList_Load(EOS(STATIC_1135(i177)), i282), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i282) | =(matching1, 0)
1135_0_createList_Load(EOS(STATIC_1135(i177)), i282) → 1145_0_createList_Load(EOS(STATIC_1145(i177)), i282)
1145_0_createList_Load(EOS(STATIC_1145(i177)), i282) → 848_0_createList_Load(EOS(STATIC_848(i177)), i282)
R rules:
862_0_createList_GT(EOS(STATIC_862(i177)), matching1, matching2) → 871_0_createList_GT(EOS(STATIC_871(i177)), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
871_0_createList_GT(EOS(STATIC_871(i177)), matching1, matching2) → 892_0_createList_ConstantStackPush(EOS(STATIC_892(i177)), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
892_0_createList_ConstantStackPush(EOS(STATIC_892(i177)), matching1) → 924_0_createList_Return(EOS(STATIC_924(i177)), 0, NULL) | =(matching1, 0)
1076_0_random_ArrayAccess(EOS(STATIC_1076(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177) → 1089_0_random_ArrayAccess(EOS(STATIC_1089(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177)
1089_0_random_ArrayAccess(EOS(STATIC_1089(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(ARRAY(i28)), i177) → 1105_0_<init>_Load(EOS(STATIC_1105(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) | >=(i177, i28)
1105_0_<init>_Load(EOS(STATIC_1105(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1133_0_<init>_InvokeMethod(EOS(STATIC_1133(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1133_0_<init>_InvokeMethod(EOS(STATIC_1133(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1144_0_<init>_Load(EOS(STATIC_1144(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(i298)), matching1, NULL), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching2, matching3) → 1198_0_createList_Return(EOS(STATIC_1198(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, 0, 0, NULL) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1135_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(i376)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i374) → 1443_0_createList_Return(EOS(STATIC_1443(i376)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i374, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(i509)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i507, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507) → 1649_0_createList_InvokeMethod(EOS(STATIC_1649(i509)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i507, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1135_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(i563)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching2, i561) → 1739_0_createList_InvokeMethod(EOS(STATIC_1739(i563)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i561, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | &&(=(matching1, 0), =(matching2, 0))
1135_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i571) → 1757_0_createList_InvokeMethod(EOS(STATIC_1757(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i571, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512) | =(matching1, 0)
1135_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(i592)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i595), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching2, i756) → 1917_0_createList_InvokeMethod(EOS(STATIC_1917(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i756, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595) | &&(=(matching1, 0), =(matching2, 0))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(i605)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i764) → 1937_0_createList_InvokeMethod(EOS(STATIC_1937(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i764, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608) | =(matching1, 0)
1135_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(i426)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i781) → 1971_0_createList_Return(EOS(STATIC_1971(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i781, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(i797)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i985) → 2096_0_createList_InvokeMethod(EOS(STATIC_2096(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i985, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800) | =(matching1, 0)
1135_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(i1269)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i1380) → 2423_0_createList_Return(EOS(STATIC_2423(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i1380, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1144_0_<init>_Load(EOS(STATIC_1144(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1171_0_<init>_InvokeMethod(EOS(STATIC_1171(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1171_0_<init>_InvokeMethod(EOS(STATIC_1171(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1197_0_<init>_Load(EOS(STATIC_1197(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1197_0_<init>_Load(EOS(STATIC_1197(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1228_0_<init>_InvokeMethod(EOS(STATIC_1228(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1198_0_createList_Return(EOS(STATIC_1198(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, matching2, matching3, NULL) → 1218_0_createList_InvokeMethod(EOS(STATIC_1218(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1218_0_createList_InvokeMethod(EOS(STATIC_1218(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL) → 1230_0_<init>_Load(EOS(STATIC_1230(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), 0, NULL) | =(matching1, 0)
1228_0_<init>_InvokeMethod(EOS(STATIC_1228(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1241_0_<init>_Load(EOS(STATIC_1241(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1230_0_<init>_Load(EOS(STATIC_1230(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), matching2, NULL) → 1252_0_<init>_InvokeMethod(EOS(STATIC_1252(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC))) | &&(=(matching1, 0), =(matching2, 0))
1241_0_<init>_Load(EOS(STATIC_1241(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1260_0_<init>_InvokeMethod(EOS(STATIC_1260(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1252_0_<init>_InvokeMethod(EOS(STATIC_1252(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), matching2, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1262_0_<init>_Load(EOS(STATIC_1262(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), 0, NULL) | &&(=(matching1, 0), =(matching2, 0))
1260_0_<init>_InvokeMethod(EOS(STATIC_1260(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1284_0_<init>_Load(EOS(STATIC_1284(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1262_0_<init>_Load(EOS(STATIC_1262(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), matching2, NULL) → 1286_0_<init>_Load(EOS(STATIC_1286(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC))) | &&(=(matching1, 0), =(matching2, 0))
1284_0_<init>_Load(EOS(STATIC_1284(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1324_0_<init>_InvokeMethod(EOS(STATIC_1324(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1286_0_<init>_Load(EOS(STATIC_1286(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), matching2, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1308_0_<init>_FieldAccess(EOS(STATIC_1308(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL, java.lang.Object(QuicksortRec.List(EOC)), 0) | &&(=(matching1, 0), =(matching2, 0))
1308_0_<init>_FieldAccess(EOS(STATIC_1308(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL, java.lang.Object(QuicksortRec.List(EOC)), matching2) → 1326_0_<init>_Load(EOS(STATIC_1326(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) | &&(=(matching1, 0), =(matching2, 0))
1324_0_<init>_InvokeMethod(EOS(STATIC_1324(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1338_0_<init>_Load(EOS(STATIC_1338(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1326_0_<init>_Load(EOS(STATIC_1326(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) → 1339_0_<init>_Load(EOS(STATIC_1339(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1338_0_<init>_Load(EOS(STATIC_1338(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1351_0_<init>_Load(EOS(STATIC_1351(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1339_0_<init>_Load(EOS(STATIC_1339(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1353_0_<init>_FieldAccess(EOS(STATIC_1353(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) | =(matching1, 0)
1351_0_<init>_Load(EOS(STATIC_1351(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1363_0_<init>_FieldAccess(EOS(STATIC_1363(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1353_0_<init>_FieldAccess(EOS(STATIC_1353(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) → 1365_0_<init>_Return(EOS(STATIC_1365(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, NULL) | =(matching1, 0)
1363_0_<init>_FieldAccess(EOS(STATIC_1363(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1390_0_<init>_Load(EOS(STATIC_1390(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1365_0_<init>_Return(EOS(STATIC_1365(i298)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, NULL) → 1391_0_createList_Return(EOS(STATIC_1391(i298)), java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1390_0_<init>_Load(EOS(STATIC_1390(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1404_0_<init>_InvokeMethod(EOS(STATIC_1404(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1404_0_<init>_InvokeMethod(EOS(STATIC_1404(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1418_0_<init>_StackPop(EOS(STATIC_1418(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(i426)), matching1, NULL), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, matching2) → 1515_0_createList_Return(EOS(STATIC_1515(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, 0, 0, NULL) | &&(=(matching1, 0), =(matching2, 0))
1416_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(i430)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i428) → 1516_0_createList_Return(EOS(STATIC_1516(i430)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i428, java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i512, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512) → 1650_0_createList_InvokeMethod(EOS(STATIC_1650(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i512, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(i567)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i565) → 1740_0_createList_InvokeMethod(EOS(STATIC_1740(i567)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i565, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | =(matching1, 0)
1416_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i574, i512), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i575) → 1767_0_createList_InvokeMethod(EOS(STATIC_1767(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i575, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i574, i512)
1416_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(i592)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i595), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i759) → 1928_0_createList_InvokeMethod(EOS(STATIC_1928(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i759, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595) | =(matching1, 0)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(i605)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i767, i608), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i768) → 1941_0_createList_InvokeMethod(EOS(STATIC_1941(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i768, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i767, i608)
1416_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(i426)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i785) → 1978_0_createList_Return(EOS(STATIC_1978(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i785, java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(i797)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i988, i800), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i989) → 2099_0_createList_InvokeMethod(EOS(STATIC_2099(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i989, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i988, i800)
1416_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(i1269)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i1384) → 2426_0_createList_Return(EOS(STATIC_2426(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i1384, java.lang.Object(QuicksortRec.List(EOC)))
1418_0_<init>_StackPop(EOS(STATIC_1418(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1437_0_<init>_Return(EOS(STATIC_1437(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1437_0_<init>_Return(EOS(STATIC_1437(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1454_0_<init>_Return(EOS(STATIC_1454(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1443_0_createList_Return(EOS(STATIC_1443(i376)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i374, java.lang.Object(QuicksortRec.List(EOC))) → 1856_0_createList_Return(EOS(STATIC_1856(i376)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i374, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1454_0_<init>_Return(EOS(STATIC_1454(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1499_0_<init>_Return(EOS(STATIC_1499(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1499_0_<init>_Return(EOS(STATIC_1499(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1518_0_<init>_Return(EOS(STATIC_1518(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1515_0_createList_Return(EOS(STATIC_1515(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, matching1, matching2, NULL) → 1529_0_createList_InvokeMethod(EOS(STATIC_1529(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL) | &&(=(matching1, 0), =(matching2, 0))
1516_0_createList_Return(EOS(STATIC_1516(i430)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i428, java.lang.Object(QuicksortRec.List(EOC))) → 1862_0_createList_Return(EOS(STATIC_1862(i430)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i428, java.lang.Object(QuicksortRec.List(EOC)))
1518_0_<init>_Return(EOS(STATIC_1518(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1534_0_<init>_Return(EOS(STATIC_1534(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177)
1529_0_createList_InvokeMethod(EOS(STATIC_1529(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL) → 1555_0_<init>_Load(EOS(STATIC_1555(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL)
1534_0_<init>_Return(EOS(STATIC_1534(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177) → 1560_0_random_ArrayAccess(EOS(STATIC_1560(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177)
1555_0_<init>_Load(EOS(STATIC_1555(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL) → 1603_0_<init>_InvokeMethod(EOS(STATIC_1603(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)))
1560_0_random_ArrayAccess(EOS(STATIC_1560(i177)), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i28)), i177) → 1591_0_createList_InvokeMethod(EOS(STATIC_1591(i177)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i186, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
1603_0_<init>_InvokeMethod(EOS(STATIC_1603(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1619_0_<init>_Load(EOS(STATIC_1619(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL)
1619_0_<init>_Load(EOS(STATIC_1619(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL) → 1642_0_<init>_Load(EOS(STATIC_1642(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)))
1642_0_<init>_Load(EOS(STATIC_1642(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1661_0_<init>_FieldAccess(EOS(STATIC_1661(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL, java.lang.Object(QuicksortRec.List(EOC)), i339)
1649_0_createList_InvokeMethod(EOS(STATIC_1649(i509)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i507, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 1669_0_createList_InvokeMethod(EOS(STATIC_1669(i509)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | =(matching1, 0)
1650_0_createList_InvokeMethod(EOS(STATIC_1650(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i512, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 1672_0_createList_InvokeMethod(EOS(STATIC_1672(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512)
1661_0_<init>_FieldAccess(EOS(STATIC_1661(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL, java.lang.Object(QuicksortRec.List(EOC)), i339) → 1684_0_<init>_Load(EOS(STATIC_1684(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL)
1669_0_createList_InvokeMethod(EOS(STATIC_1669(i509)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507) → 1811_0_createList_InvokeMethod(EOS(STATIC_1811(i509)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | =(matching1, 0)
1672_0_createList_InvokeMethod(EOS(STATIC_1672(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512) → 1816_0_createList_InvokeMethod(EOS(STATIC_1816(i514)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512)
1684_0_<init>_Load(EOS(STATIC_1684(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) → 1704_0_<init>_Load(EOS(STATIC_1704(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC)))
1704_0_<init>_Load(EOS(STATIC_1704(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, NULL, java.lang.Object(QuicksortRec.List(EOC))) → 1732_0_<init>_FieldAccess(EOS(STATIC_1732(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL)
1732_0_<init>_FieldAccess(EOS(STATIC_1732(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL, java.lang.Object(QuicksortRec.List(EOC)), NULL) → 1782_0_<init>_Return(EOS(STATIC_1782(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL)
1739_0_createList_InvokeMethod(EOS(STATIC_1739(i563)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i561, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching2, i507) → 1758_0_createList_InvokeMethod(EOS(STATIC_1758(i563)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i561, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | &&(=(matching1, 0), =(matching2, 0))
1740_0_createList_InvokeMethod(EOS(STATIC_1740(i567)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i565, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i507) → 1768_0_createList_InvokeMethod(EOS(STATIC_1768(i567)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i565, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i507) | =(matching1, 0)
1757_0_createList_InvokeMethod(EOS(STATIC_1757(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i571, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512) → 1758_0_createList_InvokeMethod(EOS(STATIC_1758(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i571, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i512) | =(matching1, 0)
1758_0_createList_InvokeMethod(EOS(STATIC_1758(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i595, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i594, i593) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i594, i593) | =(matching1, 0)
1767_0_createList_InvokeMethod(EOS(STATIC_1767(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i575, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i574, i512) → 1768_0_createList_InvokeMethod(EOS(STATIC_1768(i514)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i575, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i574, i512)
1768_0_createList_InvokeMethod(EOS(STATIC_1768(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i607, i606) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i607, i606)
1782_0_<init>_Return(EOS(STATIC_1782(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, NULL) → 1838_0_createList_Return(EOS(STATIC_1838(i426)), java.lang.Object(QuicksortRec.List(EOC)))
1811_0_createList_InvokeMethod(EOS(STATIC_1811(i592)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i595) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(i592)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595) | =(matching1, 0)
1816_0_createList_InvokeMethod(EOS(STATIC_1816(i605)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(i605)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608)
1856_0_createList_Return(EOS(STATIC_1856(i725)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i726, java.lang.Object(QuicksortRec.List(EOC))) → 1972_0_createList_Return(EOS(STATIC_1972(i725)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i726, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1862_0_createList_Return(EOS(STATIC_1862(i735)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i736, java.lang.Object(QuicksortRec.List(EOC))) → 1979_0_createList_Return(EOS(STATIC_1979(i735)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i736, java.lang.Object(QuicksortRec.List(EOC)))
1917_0_createList_InvokeMethod(EOS(STATIC_1917(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i756, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching2, i595) → 1758_0_createList_InvokeMethod(EOS(STATIC_1758(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i756, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595) | &&(=(matching1, 0), =(matching2, 0))
1928_0_createList_InvokeMethod(EOS(STATIC_1928(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i759, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i595) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i592)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i759, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i595) | =(matching1, 0)
1929_0_createList_InvokeMethod(EOS(STATIC_1929(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i799, i798) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(i797)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800)
1937_0_createList_InvokeMethod(EOS(STATIC_1937(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i764, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i764, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i608) | =(matching1, 0)
1941_0_createList_InvokeMethod(EOS(STATIC_1941(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i768, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i767, i608) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i605)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i768, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i767, i608)
1971_0_createList_Return(EOS(STATIC_1971(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i781, java.lang.Object(QuicksortRec.List(EOC))) → 1972_0_createList_Return(EOS(STATIC_1972(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i781, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1972_0_createList_Return(EOS(STATIC_1972(i852)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i854, java.lang.Object(QuicksortRec.List(EOC))) → 2319_0_createList_Return(EOS(STATIC_2319(i852)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i854, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
1978_0_createList_Return(EOS(STATIC_1978(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i785, java.lang.Object(QuicksortRec.List(EOC))) → 1979_0_createList_Return(EOS(STATIC_1979(i426)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i785, java.lang.Object(QuicksortRec.List(EOC)))
1979_0_createList_Return(EOS(STATIC_1979(i868)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i870, java.lang.Object(QuicksortRec.List(EOC))) → 2319_0_createList_Return(EOS(STATIC_2319(i868)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i870, java.lang.Object(QuicksortRec.List(EOC)))
2096_0_createList_InvokeMethod(EOS(STATIC_2096(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i985, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i985, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i800) | =(matching1, 0)
2099_0_createList_InvokeMethod(EOS(STATIC_2099(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i989, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i988, i800) → 1929_0_createList_InvokeMethod(EOS(STATIC_1929(i797)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i989, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i988, i800)
2319_0_createList_Return(EOS(STATIC_2319(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i1271, java.lang.Object(QuicksortRec.List(EOC))) → 2334_0_createList_InvokeMethod(EOS(STATIC_2334(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)))
2334_0_createList_InvokeMethod(EOS(STATIC_2334(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC))) → 2338_0_<init>_Load(EOS(STATIC_2338(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)))
2338_0_<init>_Load(EOS(STATIC_2338(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC))) → 2349_0_<init>_InvokeMethod(EOS(STATIC_2349(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
2349_0_<init>_InvokeMethod(EOS(STATIC_2349(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 2358_0_<init>_Load(EOS(STATIC_2358(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)))
2358_0_<init>_Load(EOS(STATIC_2358(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC))) → 2364_0_<init>_Load(EOS(STATIC_2364(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
2364_0_<init>_Load(EOS(STATIC_2364(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 2369_0_<init>_FieldAccess(EOS(STATIC_2369(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339)
2369_0_<init>_FieldAccess(EOS(STATIC_2369(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339) → 2376_0_<init>_Load(EOS(STATIC_2376(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
2376_0_<init>_Load(EOS(STATIC_2376(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 2383_0_<init>_Load(EOS(STATIC_2383(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
2383_0_<init>_Load(EOS(STATIC_2383(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 2389_0_<init>_FieldAccess(EOS(STATIC_2389(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)))
2389_0_<init>_FieldAccess(EOS(STATIC_2389(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))) → 2396_0_<init>_Return(EOS(STATIC_2396(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC)))
2396_0_<init>_Return(EOS(STATIC_2396(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, java.lang.Object(QuicksortRec.List(EOC))) → 2400_0_createList_Return(EOS(STATIC_2400(i1269)), java.lang.Object(QuicksortRec.List(EOC)))
2423_0_createList_Return(EOS(STATIC_2423(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), matching1, i1380, java.lang.Object(QuicksortRec.List(EOC))) → 2319_0_createList_Return(EOS(STATIC_2319(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, i1380, java.lang.Object(QuicksortRec.List(EOC))) | =(matching1, 0)
2426_0_createList_Return(EOS(STATIC_2426(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i1384, java.lang.Object(QuicksortRec.List(EOC))) → 2319_0_createList_Return(EOS(STATIC_2319(i1269)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), i339, i1384, java.lang.Object(QuicksortRec.List(EOC)))

Combined rules. Obtained 3 conditional rules for P and 21 conditional rules for R.


P rules:
862_0_createList_GT(EOS(STATIC_862(x0)), x1, x1) → 1416_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1), -(x1, 1)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x2, -(x1, 1)) | &&(&&(>(+(x2, 1), 0), >(x1, 0)), >(+(x0, 1), 0))
862_0_createList_GT(EOS(STATIC_862(x0)), x1, x1) → 1416_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1), -(x1, 1)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, -(x1, 1)) | &&(>(x1, 0), >(+(x0, 1), 0))
862_0_createList_GT(EOS(STATIC_862(x0)), x1, x1) → 1135_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(x0)), -(x1, 1), -(x1, 1)), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, -(x1, 1)) | >(x1, 0)
R rules:
862_0_createList_GT(EOS(STATIC_862(x0)), 0, 0) → 924_0_createList_Return(EOS(STATIC_924(x0)), 0, NULL)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0)), 0, NULL), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, 0) → 1391_0_createList_Return(EOS(STATIC_1391(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x1, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x1, java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x2, x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0)), 0, NULL), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x2, 0) → 1838_0_createList_Return(EOS(STATIC_1838(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4)
1416_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4)
1135_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4)
1135_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4)
1135_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x4)
1416_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4)
1416_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x3, x4)
1135_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1135_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1135_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), 0, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))
1416_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(x0)), java.lang.Object(QuicksortRec.List(EOC))), java.lang.Object(QuicksortRec.List(EOC)), java.lang.Object(QuicksortRec.List(EOC)), x1, x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)), java.lang.Object(QuicksortRec.List(EOC)))

Filtered ground terms:



1135_1_createList_InvokeMethod(x1, x2, x3, x4, x5) → 1135_1_createList_InvokeMethod(x1, x5)
QuicksortRec.List(x1) → QuicksortRec.List
1416_1_createList_InvokeMethod(x1, x2, x3, x4, x5) → 1416_1_createList_InvokeMethod(x1, x4, x5)
2400_0_createList_Return(x1, x2) → 2400_0_createList_Return(x1)
1391_0_createList_Return(x1, x2) → 1391_0_createList_Return(x1)
1838_0_createList_Return(x1, x2) → 1838_0_createList_Return(x1)
1986_0_createList_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1986_0_createList_InvokeMethod(x1, x5, x6)
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
java.lang.RuntimeException(x1) → java.lang.RuntimeException
java.lang.Exception(x1) → java.lang.Exception
java.lang.Throwable(x1) → java.lang.Throwable
1672_0_createList_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1672_0_createList_InvokeMethod(x1, x5, x6)
1669_0_createList_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1669_0_createList_InvokeMethod(x1, x6)
1811_0_createList_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1811_0_createList_InvokeMethod(x1, x6)
1816_0_createList_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1816_0_createList_InvokeMethod(x1, x5, x6)
924_0_createList_Return(x1, x2, x3) → 924_0_createList_Return(x1)
1591_0_createList_InvokeMethod(x1, x2, x3, x4, x5) → 1591_0_createList_InvokeMethod(x1, x3)

Filtered duplicate args:



862_0_createList_GT(x1, x2, x3) → 862_0_createList_GT(x1, x3)
Cond_862_0_createList_GT(x1, x2, x3, x4, x5) → Cond_862_0_createList_GT(x1, x2, x4, x5)
Cond_862_0_createList_GT1(x1, x2, x3, x4) → Cond_862_0_createList_GT1(x1, x2, x4)
Cond_862_0_createList_GT2(x1, x2, x3, x4) → Cond_862_0_createList_GT2(x1, x2, x4)

Filtered unneeded arguments:



Cond_862_0_createList_GT(x1, x2, x3, x4) → Cond_862_0_createList_GT(x1, x2, x3)
1416_1_createList_InvokeMethod(x1, x2, x3) → 1416_1_createList_InvokeMethod(x1, x3)

Combined rules. Obtained 3 conditional rules for P and 21 conditional rules for R.


P rules:
862_0_createList_GT(EOS(STATIC_862(x0)), x1) → 1416_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1)), -(x1, 1)) | &&(&&(>(x2, -1), >(x1, 0)), >(x0, -1))
862_0_createList_GT(EOS(STATIC_862(x0)), x1) → 1416_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1)), -(x1, 1)) | &&(>(x1, 0), >(x0, -1))
862_0_createList_GT(EOS(STATIC_862(x0)), x1) → 1135_1_createList_InvokeMethod(862_0_createList_GT(EOS(STATIC_862(x0)), -(x1, 1)), -(x1, 1)) | >(x1, 0)
R rules:
862_0_createList_GT(EOS(STATIC_862(x0)), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 1391_0_createList_Return(EOS(STATIC_1391(x0)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_1591(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 1838_0_createList_Return(EOS(STATIC_1838(x0)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x4)
1416_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_1816(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x3, x4)
1135_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x4)
1135_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x4)
1135_1_createList_InvokeMethod(1811_0_createList_InvokeMethod(EOS(STATIC_1811(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), 0, x4)
1416_1_createList_InvokeMethod(1669_0_createList_InvokeMethod(EOS(STATIC_1669(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x3, x4)
1416_1_createList_InvokeMethod(1672_0_createList_InvokeMethod(EOS(STATIC_1672(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_1986(x0)), x3, x4)
1135_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))
1416_1_createList_InvokeMethod(2400_0_createList_Return(EOS(STATIC_2400(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))
1135_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))
1135_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))
1416_1_createList_InvokeMethod(1838_0_createList_Return(EOS(STATIC_1838(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))
1416_1_createList_InvokeMethod(1391_0_createList_Return(EOS(STATIC_1391(x0))), x2) → 2400_0_createList_Return(EOS(STATIC_2400(x0)))

Performed bisimulation on rules. Used the following equivalence classes: {[1591_0_createList_InvokeMethod_2, 1811_0_createList_InvokeMethod_2, 1669_0_createList_InvokeMethod_2]=1591_0_createList_InvokeMethod_2, [924_0_createList_Return_1, 1391_0_createList_Return_1, 1838_0_createList_Return_1, 2400_0_createList_Return_1]=924_0_createList_Return_1, [STATIC_924_1, STATIC_1391_1, STATIC_1591_1, STATIC_1986_1, STATIC_1838_1, STATIC_1816_1, STATIC_1811_1, STATIC_1669_1, STATIC_1672_1, STATIC_2400_1]=STATIC_924_1, [1816_0_createList_InvokeMethod_3, 1672_0_createList_InvokeMethod_3]=1816_0_createList_InvokeMethod_3}


Finished conversion. Obtained 4 rules for P and 13 rules for R. System has predefined symbols.


P rules:
862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT(&&(>(x1, 0), >(x0, -1)), EOS(STATIC_862(x0)), x1)
COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1))
862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT1(>(x1, 0), EOS(STATIC_862(x0)), x1)
COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), -(x1, 1))
R rules:
862_0_createList_GT(EOS(STATIC_862(x0)), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))

(38) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
862_0_createList_GT(EOS(STATIC_862(x0)), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))

The integer pair graph contains the following rules and edges:
(0): 862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0]) → COND_862_0_CREATELIST_GT(x1[0] > 0 && x0[0] > -1, EOS(STATIC_862(x0[0])), x1[0])
(1): COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[1] + 1)), x1[1] - 1)
(2): 862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2]) → COND_862_0_CREATELIST_GT1(x1[2] > 0, EOS(STATIC_862(x0[2])), x1[2])
(3): COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), x1[3] - 1)

(0) -> (1), if (x1[0] > 0 && x0[0] > -1EOS(STATIC_862(x0[0])) →* EOS(STATIC_862(x0[1]))∧x1[0]* x1[1])


(1) -> (0), if (EOS(STATIC_862(x0[1] + 1)) →* EOS(STATIC_862(x0[0]))∧x1[1] - 1* x1[0])


(1) -> (2), if (EOS(STATIC_862(x0[1] + 1)) →* EOS(STATIC_862(x0[2]))∧x1[1] - 1* x1[2])


(2) -> (3), if (x1[2] > 0EOS(STATIC_862(x0[2])) →* EOS(STATIC_862(x0[3]))∧x1[2]* x1[3])


(3) -> (0), if (EOS(STATIC_862(x0[3])) →* EOS(STATIC_862(x0[0]))∧x1[3] - 1* x1[0])


(3) -> (2), if (EOS(STATIC_862(x0[3])) →* EOS(STATIC_862(x0[2]))∧x1[3] - 1* x1[2])



The set Q consists of the following terms:
862_0_createList_GT(EOS(STATIC_862(x0)), 0)
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)

(39) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpCand1ShapeHeuristic@4b444bf7 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 0 Max Right Steps: 0

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 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT(&&(>(x1, 0), >(x0, -1)), EOS(STATIC_862(x0)), x1) the following chains were created:
  • We consider the chain 862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0]) → COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0]), COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1]) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1)) which results in the following constraint:

    (1)    (&&(>(x1[0], 0), >(x0[0], -1))=TRUEEOS(STATIC_862(x0[0]))=EOS(STATIC_862(x0[1]))∧x1[0]=x1[1]862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0])≥NonInfC∧862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0])≥COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])∧(UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥))



    We simplified constraint (1) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>(x1[0], 0)=TRUE>(x0[0], -1)=TRUE862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0])≥NonInfC∧862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0])≥COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])∧(UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x1[0] + [-1] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x1[0] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x1[0] + [-1] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x1[0] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x1[0] + [-1] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥)∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x1[0] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]x1[0] ≥ 0∧[(-1)bso_19] ≥ 0)







For Pair COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1)) the following chains were created:
  • We consider the chain COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1]) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1)) which results in the following constraint:

    (7)    (COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1])≥NonInfC∧COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1])≥862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))∧(UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥))



    We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (8)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥)∧[bni_20] = 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (9)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥)∧[bni_20] = 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (10)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥)∧[bni_20] = 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (10) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (11)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥)∧[bni_20] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_21] ≥ 0)







For Pair 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT1(>(x1, 0), EOS(STATIC_862(x0)), x1) the following chains were created:
  • We consider the chain 862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2]) → COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2]), COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1)) which results in the following constraint:

    (12)    (>(x1[2], 0)=TRUEEOS(STATIC_862(x0[2]))=EOS(STATIC_862(x0[3]))∧x1[2]=x1[3]862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2])≥NonInfC∧862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2])≥COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])∧(UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥))



    We simplified constraint (12) using rules (I), (II), (IV) which results in the following new constraint:

    (13)    (>(x1[2], 0)=TRUE862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2])≥NonInfC∧862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2])≥COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])∧(UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥))



    We simplified constraint (13) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (14)    (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧[bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧[(-1)bso_23] ≥ 0)



    We simplified constraint (14) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (15)    (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧[bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧[(-1)bso_23] ≥ 0)



    We simplified constraint (15) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (16)    (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧[bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧[(-1)bso_23] ≥ 0)



    We simplified constraint (16) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (17)    (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧0 = 0∧[bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧0 = 0∧[(-1)bso_23] ≥ 0)



    We simplified constraint (17) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (18)    (x1[2] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧0 = 0∧[(2)bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧0 = 0∧[(-1)bso_23] ≥ 0)







For Pair COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), -(x1, 1)) the following chains were created:
  • We consider the chain COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1)) which results in the following constraint:

    (19)    (COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3])≥NonInfC∧COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3])≥862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))∧(UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥))



    We simplified constraint (19) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (20)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥)∧[bni_24] = 0∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (20) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (21)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥)∧[bni_24] = 0∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (21) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (22)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥)∧[bni_24] = 0∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (22) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (23)    ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT(&&(>(x1, 0), >(x0, -1)), EOS(STATIC_862(x0)), x1)
    • (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])), ≥)∧[(2)bni_18 + (-1)Bound*bni_18] + [bni_18]x1[0] ≥ 0∧[(-1)bso_19] ≥ 0)

  • COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0, 1))), -(x1, 1))
    • ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))), ≥)∧[bni_20] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_21] ≥ 0)

  • 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), x1) → COND_862_0_CREATELIST_GT1(>(x1, 0), EOS(STATIC_862(x0)), x1)
    • (x1[2] ≥ 0 ⇒ (UIncreasing(COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])), ≥)∧0 = 0∧[(2)bni_22 + (-1)Bound*bni_22] + [bni_22]x1[2] ≥ 0∧0 = 0∧[(-1)bso_23] ≥ 0)

  • COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0)), x1) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0)), -(x1, 1))
    • ((UIncreasing(862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 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(862_0_createList_GT(x1, x2)) = [-1]   
POL(EOS(x1)) = x1   
POL(STATIC_862(x1)) = x1   
POL(0) = 0   
POL(924_0_createList_Return(x1)) = [-1]   
POL(STATIC_924(x1)) = [-1]   
POL(1135_1_createList_InvokeMethod(x1, x2)) = [-1]   
POL(1591_0_createList_InvokeMethod(x1, x2)) = [-1]   
POL(1986_0_createList_InvokeMethod(x1, x2, x3)) = [-1]   
POL(1416_1_createList_InvokeMethod(x1, x2)) = [-1]   
POL(1816_0_createList_InvokeMethod(x1, x2, x3)) = [-1]   
POL(862_0_CREATELIST_GT(x1, x2)) = [1] + x2   
POL(COND_862_0_CREATELIST_GT(x1, x2, x3)) = [1] + x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(COND_862_0_CREATELIST_GT1(x1, x2, x3)) = [1] + x3   

The following pairs are in P>:

COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1]) → 862_0_CREATELIST_GT(EOS(STATIC_862(+(x0[1], 1))), -(x1[1], 1))
COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), -(x1[3], 1))

The following pairs are in Pbound:

862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0]) → COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])
862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2]) → COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])

The following pairs are in P:

862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0]) → COND_862_0_CREATELIST_GT(&&(>(x1[0], 0), >(x0[0], -1)), EOS(STATIC_862(x0[0])), x1[0])
862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2]) → COND_862_0_CREATELIST_GT1(>(x1[2], 0), EOS(STATIC_862(x0[2])), x1[2])

There are no usable rules.

(40) Complex Obligation (AND)

(41) 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:
862_0_createList_GT(EOS(STATIC_862(x0)), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))

The integer pair graph contains the following rules and edges:
(0): 862_0_CREATELIST_GT(EOS(STATIC_862(x0[0])), x1[0]) → COND_862_0_CREATELIST_GT(x1[0] > 0 && x0[0] > -1, EOS(STATIC_862(x0[0])), x1[0])
(2): 862_0_CREATELIST_GT(EOS(STATIC_862(x0[2])), x1[2]) → COND_862_0_CREATELIST_GT1(x1[2] > 0, EOS(STATIC_862(x0[2])), x1[2])


The set Q consists of the following terms:
862_0_createList_GT(EOS(STATIC_862(x0)), 0)
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)

(42) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(43) TRUE

(44) 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


The ITRS R consists of the following rules:
862_0_createList_GT(EOS(STATIC_862(x0)), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x1)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x1) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2, x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), 0) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x3, x4)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x2), x4) → 1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), 0, x4)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x2) → 924_0_createList_Return(EOS(STATIC_924(x0)))

The integer pair graph contains the following rules and edges:
(1): COND_862_0_CREATELIST_GT(TRUE, EOS(STATIC_862(x0[1])), x1[1]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[1] + 1)), x1[1] - 1)
(3): COND_862_0_CREATELIST_GT1(TRUE, EOS(STATIC_862(x0[3])), x1[3]) → 862_0_CREATELIST_GT(EOS(STATIC_862(x0[3])), x1[3] - 1)


The set Q consists of the following terms:
862_0_createList_GT(EOS(STATIC_862(x0)), 0)
1135_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1416_1_createList_InvokeMethod(1816_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1416_1_createList_InvokeMethod(1986_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1, x2), x3)
1135_1_createList_InvokeMethod(1591_0_createList_InvokeMethod(EOS(STATIC_924(x0)), x1), x2)
1135_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)
1416_1_createList_InvokeMethod(924_0_createList_Return(EOS(STATIC_924(x0))), x1)

(45) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(46) TRUE