/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1095 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 59 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 18 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 2 ms] (17) IRSwT (18) IRSwTToQDPProof [SOUND, 0 ms] (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) JBCTerminationSCC (23) SCCToQDPProof [SOUND, 92 ms] (24) QDP (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] (26) YES (27) JBCTerminationSCC (28) SCCToIRSProof [SOUND, 206 ms] (29) IRSwT (30) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (31) IRSwT (32) IRSwTTerminationDigraphProof [EQUIVALENT, 102 ms] (33) AND (34) IRSwT (35) IntTRSCompressionProof [EQUIVALENT, 0 ms] (36) IRSwT (37) TempFilterProof [SOUND, 35 ms] (38) IntTRS (39) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (40) IntTRS (41) RankingReductionPairProof [EQUIVALENT, 5 ms] (42) YES (43) IRSwT (44) IntTRSCompressionProof [EQUIVALENT, 0 ms] (45) IRSwT (46) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (47) IRSwT (48) TempFilterProof [SOUND, 9 ms] (49) IntTRS (50) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (51) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package DoublyLinkedList; /** * A linked list with pointers to the previous and next elements * @author cotto */ public class DoublyLinkedList { public int value; public DoublyLinkedList prev; public DoublyLinkedList next; public DoublyLinkedList(final int v) { this.value = v; } public DoublyLinkedList getFirst() { if (this.prev == null) { return this; } return this.prev.getFirst(); } public void move(final int relativePosition) { if (relativePosition == 0) { return; } if (relativePosition > 0 && this.next != null) { final DoublyLinkedList temp = this.next; if (this.prev != null) { this.prev.next = temp; } temp.prev = this.prev; this.next = temp.next; temp.next = this; this.prev = temp; move(relativePosition - 1); } if (relativePosition < 0 && this.prev != null) { final DoublyLinkedList temp = this.prev; if (this.next != null) { this.next.prev = temp; } temp.next = this.next; this.prev = temp.prev; temp.prev = this; this.next = temp; move(relativePosition - 1); } } public DoublyLinkedList get(final int index) { DoublyLinkedList current = this.getFirst(); while (index > 0 && current != null) { current = current.next; } return current; } public DoublyLinkedList find(final int v) { final DoublyLinkedList first = this.getFirst(); return first.findR(v); } private DoublyLinkedList findR(final int v) { if (this.value == v) { return this; } if (this.next != null) { return this.next.findR(v); } return null; } public void delete(final int v) { final DoublyLinkedList elem = find(v); if (elem != null) { if (elem.prev != null) { elem.prev.next = elem.next; } if (elem.next != null) { elem.next.prev = elem.prev; } } } public DoublyLinkedList copy() { final DoublyLinkedList first = this.getFirst(); return first.copyR(null); } private DoublyLinkedList copyR(final DoublyLinkedList p) { final DoublyLinkedList copy = new DoublyLinkedList(this.value); copy.prev = p; if (p != null) { p.next = copy; } if (this.next != null) { this.next.copyR(copy); } return copy; } static DoublyLinkedList createList() { final int count = Random.random(); DoublyLinkedList cur = null; for (int i = 0; i < count; i++) { final DoublyLinkedList old = cur; cur = new DoublyLinkedList(Random.random()); cur.prev = old; if (old != null) { old.next = cur; } } return cur; } } package DoublyLinkedList; /** * * @author cotto */ public class MainDelete { public static void main(final String[] args) { Random.args = args; final DoublyLinkedList list = DoublyLinkedList.createList(); list.delete(Random.random()); } } package DoublyLinkedList; public class Random { static String[] args; static int index = 0; public static int random() { if (args.length <= index) { return 0; } final String string = args[index]; index++; if (string == null) { return 0; } return string.length(); } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package DoublyLinkedList; /** * A linked list with pointers to the previous and next elements * @author cotto */ public class DoublyLinkedList { public int value; public DoublyLinkedList prev; public DoublyLinkedList next; public DoublyLinkedList(final int v) { this.value = v; } public DoublyLinkedList getFirst() { if (this.prev == null) { return this; } return this.prev.getFirst(); } public void move(final int relativePosition) { if (relativePosition == 0) { return; } if (relativePosition > 0 && this.next != null) { final DoublyLinkedList temp = this.next; if (this.prev != null) { this.prev.next = temp; } temp.prev = this.prev; this.next = temp.next; temp.next = this; this.prev = temp; move(relativePosition - 1); } if (relativePosition < 0 && this.prev != null) { final DoublyLinkedList temp = this.prev; if (this.next != null) { this.next.prev = temp; } temp.next = this.next; this.prev = temp.prev; temp.prev = this; this.next = temp; move(relativePosition - 1); } } public DoublyLinkedList get(final int index) { DoublyLinkedList current = this.getFirst(); while (index > 0 && current != null) { current = current.next; } return current; } public DoublyLinkedList find(final int v) { final DoublyLinkedList first = this.getFirst(); return first.findR(v); } private DoublyLinkedList findR(final int v) { if (this.value == v) { return this; } if (this.next != null) { return this.next.findR(v); } return null; } public void delete(final int v) { final DoublyLinkedList elem = find(v); if (elem != null) { if (elem.prev != null) { elem.prev.next = elem.next; } if (elem.next != null) { elem.next.prev = elem.prev; } } } public DoublyLinkedList copy() { final DoublyLinkedList first = this.getFirst(); return first.copyR(null); } private DoublyLinkedList copyR(final DoublyLinkedList p) { final DoublyLinkedList copy = new DoublyLinkedList(this.value); copy.prev = p; if (p != null) { p.next = copy; } if (this.next != null) { this.next.copyR(copy); } return copy; } static DoublyLinkedList createList() { final int count = Random.random(); DoublyLinkedList cur = null; for (int i = 0; i < count; i++) { final DoublyLinkedList old = cur; cur = new DoublyLinkedList(Random.random()); cur.prev = old; if (old != null) { old.next = cur; } } return cur; } } package DoublyLinkedList; /** * * @author cotto */ public class MainDelete { public static void main(final String[] args) { Random.args = args; final DoublyLinkedList list = DoublyLinkedList.createList(); list.delete(Random.random()); } } package DoublyLinkedList; public class Random { static String[] args; static int index = 0; public static int random() { if (args.length <= index) { return 0; } final String string = args[index]; index++; if (string == null) { return 0; } return string.length(); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: DoublyLinkedList.MainDelete.main([Ljava/lang/String;)V: Graph of 227 nodes with 0 SCCs. DoublyLinkedList.DoublyLinkedList.createList()LDoublyLinkedList/DoublyLinkedList;: Graph of 222 nodes with 1 SCC. DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList;: Graph of 19 nodes with 0 SCCs. DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList;: Graph of 34 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 3 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList; SCC calls the following helper methods: DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList; Performed SCC analyses: *Used field analysis yielded the following read fields: *DoublyLinkedList.DoublyLinkedList: [value, next] *Marker field analysis yielded the following relations that could be markers: *DoublyLinkedList.DoublyLinkedList.value != i406 (Introduced counter i913) *DoublyLinkedList.DoublyLinkedList.value != i651 (Introduced counter i914) ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 17 IRulesP rules: f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i913, i914) -> f4271_0_findR_FieldAccess(EOS(STATIC_4271), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i913, i914) :|: TRUE f4271_0_findR_FieldAccess(EOS(STATIC_4271), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i913, i914) -> f4285_0_findR_Load(EOS(STATIC_4285), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i913, i914) :|: TRUE f4285_0_findR_Load(EOS(STATIC_4285), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i913, i914) -> f4298_0_findR_NE(EOS(STATIC_4298), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i406, i913, i914) :|: TRUE f4298_0_findR_NE(EOS(STATIC_4298), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i406, i913, i914) -> f4329_0_findR_NE(EOS(STATIC_4329), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i406, i913, i914) :|: !(i651 = i406) f4329_0_findR_NE(EOS(STATIC_4329), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i651, i406, i913, i914) -> f4338_0_findR_Load(EOS(STATIC_4338), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i913, i914) :|: !(i651 = i406) f4338_0_findR_Load(EOS(STATIC_4338), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, i913, i914) -> f4350_0_findR_FieldAccess(EOS(STATIC_4350), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i913, i914) :|: TRUE f4350_0_findR_FieldAccess(EOS(STATIC_4350), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i913, i914) -> f4362_0_findR_NULL(EOS(STATIC_4362), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, o613)), i406, o613, i913, i914) :|: TRUE f4362_0_findR_NULL(EOS(STATIC_4362), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i406, java.lang.Object(o617sub), i913, i914) -> f4368_0_findR_NULL(EOS(STATIC_4368), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i406, java.lang.Object(o617sub), i913, i914) :|: TRUE f4368_0_findR_NULL(EOS(STATIC_4368), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i406, java.lang.Object(o617sub), i913, i914) -> f4375_0_findR_Load(EOS(STATIC_4375), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i406, i913, i914) :|: TRUE f4375_0_findR_Load(EOS(STATIC_4375), i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i406, i913, i914) -> f4383_0_findR_FieldAccess(EOS(STATIC_4383), i406, i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i913, i914) :|: TRUE f4383_0_findR_FieldAccess(EOS(STATIC_4383), i406, i406, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651, java.lang.Object(o617sub))), i913, i914) -> f4391_0_findR_Load(EOS(STATIC_4391), i406, i406, java.lang.Object(o617sub), i913, i914) :|: TRUE f4391_0_findR_Load(EOS(STATIC_4391), i406, i406, java.lang.Object(o617sub), i913, i914) -> f4404_0_findR_InvokeMethod(EOS(STATIC_4404), i406, java.lang.Object(o617sub), i406, i913, i914) :|: TRUE f4404_0_findR_InvokeMethod(EOS(STATIC_4404), i406, java.lang.Object(o617sub), i406, i913, i914) -> f4424_0_findR_Load(EOS(STATIC_4424), i406, java.lang.Object(o617sub), i406, i913, i914) :|: TRUE f4404_0_findR_InvokeMethod(EOS(STATIC_4404), i406, java.lang.Object(o617sub), i406, i913, i914) -> f4424_1_findR_Load(EOS(STATIC_4424), i406, java.lang.Object(o617sub), i406, i913, i914) :|: TRUE f4424_0_findR_Load(EOS(STATIC_4424), i406, java.lang.Object(o617sub), i406, i913, i914) -> f4450_0_findR_Load(EOS(STATIC_4450), i406, java.lang.Object(o617sub), i406, i913, i914) :|: TRUE f4450_0_findR_Load(EOS(STATIC_4450), i406, java.lang.Object(o617sub), i406, i913, i914) -> f4242_0_findR_Load(EOS(STATIC_4242), i406, java.lang.Object(o617sub), i406, i913, i914) :|: TRUE f4242_0_findR_Load(EOS(STATIC_4242), i406, java.lang.Object(o600sub), i406, i913, i914) -> f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406, java.lang.Object(o600sub), i406, java.lang.Object(o600sub), i913, i914) :|: TRUE Combined rules. Obtained 4 IRulesP rules: f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i913:0, i914:0) -> f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(o617sub:0), i406:0, java.lang.Object(o617sub:0), i913:0, i914:0) :|: i651:0 < i406:0 f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i913:0, i914:0) -> f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(o617sub:0), i406:0, java.lang.Object(o617sub:0), i913:0, i914:0) :|: i651:0 > i406:0 Removed following non-SCC rules: f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i913:0, i914:0) -> f4424_1_findR_Load(EOS(STATIC_4424), i406:0, java.lang.Object(o617sub:0), i406:0, i913:0, i914:0) :|: i651:0 < i406:0 f4253_0_findR_FieldAccess(EOS(STATIC_4253), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i651:0, java.lang.Object(o617sub:0))), i913:0, i914:0) -> f4424_1_findR_Load(EOS(STATIC_4424), i406:0, java.lang.Object(o617sub:0), i406:0, i913:0, i914:0) :|: i651:0 > i406:0 Filtered constant ground arguments: f4253_0_findR_FieldAccess(x1, x2, x3, x4, x5, x6, x7) -> f4253_0_findR_FieldAccess(x2, x3, x4, x5, x6, x7) EOS(x1) -> EOS DoublyLinkedList.DoublyLinkedList(x1, x2, x3) -> DoublyLinkedList.DoublyLinkedList(x2, x3) Filtered duplicate arguments: f4253_0_findR_FieldAccess(x1, x2, x3, x4, x5, x6) -> f4253_0_findR_FieldAccess(x3, x4, x5, x6) Filtered unneeded arguments: f4253_0_findR_FieldAccess(x1, x2, x3, x4) -> f4253_0_findR_FieldAccess(x1, x2) Finished conversion. Obtained 2 rules.P rules: f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 < i406:0 f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 > i406:0 ---------------------------------------- (9) Obligation: Rules: f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 < i406:0 f4253_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f4253_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 < i406:0 f4253_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f4253_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 < i406:0 (2) f4253_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f4253_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f4253_0_findR_FieldAccess(i406:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0, java.lang.Object(o617sub:0)))) -> f4253_0_findR_FieldAccess(i406:0, java.lang.Object(o617sub:0)) :|: i651:0 < i406:0 (2) f4253_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f4253_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f4253_0_findR_FieldAccess(x:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1:0, java.lang.Object(x2:0)))) -> f4253_0_findR_FieldAccess(x:0, java.lang.Object(x2:0)) :|: x:0 < x1:0 f4253_0_findR_FieldAccess(i406:0:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i651:0:0, java.lang.Object(o617sub:0:0)))) -> f4253_0_findR_FieldAccess(i406:0:0, java.lang.Object(o617sub:0:0)) :|: i651:0:0 < i406:0:0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4253_0_findR_FieldAccess(INTEGER, VARIABLE) java.lang.Object(VARIABLE) DoublyLinkedList.DoublyLinkedList(INTEGER, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (17) Obligation: Rules: f4253_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f4253_0_findR_FieldAccess(java.lang.Object(x2:0)) ---------------------------------------- (18) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: f4253_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f4253_0_findR_FieldAccess(java.lang.Object(x2:0)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (20) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *f4253_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f4253_0_findR_FieldAccess(java.lang.Object(x2:0)) The graph contains the following edges 1 > 1 ---------------------------------------- (21) YES ---------------------------------------- (22) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList; SCC calls the following helper methods: DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList; Performed SCC analyses: *Used field analysis yielded the following read fields: *DoublyLinkedList.DoublyLinkedList: [prev] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (23) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 10 rules for P and 18 rules for R.P rules: f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) -> f3054_0_getFirst_FieldAccess(EOS(STATIC_3054), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) :|: TRUE f3054_0_getFirst_FieldAccess(EOS(STATIC_3054), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) -> f3059_0_getFirst_NONNULL(EOS(STATIC_3059), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), o425) :|: TRUE f3059_0_getFirst_NONNULL(EOS(STATIC_3059), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) -> f3065_0_getFirst_NONNULL(EOS(STATIC_3065), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) :|: TRUE f3065_0_getFirst_NONNULL(EOS(STATIC_3065), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) -> f3071_0_getFirst_Load(EOS(STATIC_3071), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) :|: TRUE f3071_0_getFirst_Load(EOS(STATIC_3071), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) -> f3077_0_getFirst_FieldAccess(EOS(STATIC_3077), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) :|: TRUE f3077_0_getFirst_FieldAccess(EOS(STATIC_3077), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) -> f3084_0_getFirst_InvokeMethod(EOS(STATIC_3084), java.lang.Object(o427sub)) :|: TRUE f3084_0_getFirst_InvokeMethod(EOS(STATIC_3084), java.lang.Object(o427sub)) -> f3092_1_getFirst_InvokeMethod(f3092_0_getFirst_Load(EOS(STATIC_3092), java.lang.Object(o427sub))) :|: TRUE f3092_0_getFirst_Load(EOS(STATIC_3092), java.lang.Object(o427sub)) -> f3123_0_getFirst_Load(EOS(STATIC_3123), java.lang.Object(o427sub)) :|: TRUE f3123_0_getFirst_Load(EOS(STATIC_3123), java.lang.Object(o427sub)) -> f3021_0_getFirst_Load(EOS(STATIC_3021), java.lang.Object(o427sub)) :|: TRUE f3021_0_getFirst_Load(EOS(STATIC_3021), java.lang.Object(o423sub)) -> f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(o423sub), java.lang.Object(o423sub)) :|: TRUE R rules: f3021_0_getFirst_Load(EOS(STATIC_3021), java.lang.Object(o423sub)) -> f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(o423sub), java.lang.Object(o423sub)) :|: TRUE f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) -> f3054_0_getFirst_FieldAccess(EOS(STATIC_3054), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) :|: TRUE f3054_0_getFirst_FieldAccess(EOS(STATIC_3054), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425))) -> f3059_0_getFirst_NONNULL(EOS(STATIC_3059), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o425)), o425) :|: TRUE f3059_0_getFirst_NONNULL(EOS(STATIC_3059), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) -> f3065_0_getFirst_NONNULL(EOS(STATIC_3065), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) :|: TRUE f3059_0_getFirst_NONNULL(EOS(STATIC_3059), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) -> f3066_0_getFirst_NONNULL(EOS(STATIC_3066), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) :|: TRUE f3065_0_getFirst_NONNULL(EOS(STATIC_3065), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub))), java.lang.Object(o427sub)) -> f3071_0_getFirst_Load(EOS(STATIC_3071), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) :|: TRUE f3066_0_getFirst_NONNULL(EOS(STATIC_3066), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) -> f3072_0_getFirst_Load(EOS(STATIC_3072), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3071_0_getFirst_Load(EOS(STATIC_3071), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) -> f3077_0_getFirst_FieldAccess(EOS(STATIC_3077), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) :|: TRUE f3072_0_getFirst_Load(EOS(STATIC_3072), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3078_0_getFirst_Return(EOS(STATIC_3078), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3077_0_getFirst_FieldAccess(EOS(STATIC_3077), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub)))) -> f3084_0_getFirst_InvokeMethod(EOS(STATIC_3084), java.lang.Object(o427sub)) :|: TRUE f3084_0_getFirst_InvokeMethod(EOS(STATIC_3084), java.lang.Object(o427sub)) -> f3092_1_getFirst_InvokeMethod(f3092_0_getFirst_Load(EOS(STATIC_3092), java.lang.Object(o427sub))) :|: TRUE f3092_0_getFirst_Load(EOS(STATIC_3092), java.lang.Object(o427sub)) -> f3123_0_getFirst_Load(EOS(STATIC_3123), java.lang.Object(o427sub)) :|: TRUE f3539_0_getFirst_Return(EOS(STATIC_3539), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3657_0_getFirst_Return(EOS(STATIC_3657), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3694_0_getFirst_Return(EOS(STATIC_3694), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3694_0_getFirst_Return(EOS(STATIC_3694), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3123_0_getFirst_Load(EOS(STATIC_3123), java.lang.Object(o427sub)) -> f3021_0_getFirst_Load(EOS(STATIC_3021), java.lang.Object(o427sub)) :|: TRUE f3092_1_getFirst_InvokeMethod(f3078_0_getFirst_Return(EOS(STATIC_3078), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3539_0_getFirst_Return(EOS(STATIC_3539), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3092_1_getFirst_InvokeMethod(f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3657_0_getFirst_Return(EOS(STATIC_3657), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE Combined rules. Obtained 1 conditional rules for P and 4 conditional rules for R.P rules: f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub:0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub:0)))) -> f3092_1_getFirst_InvokeMethod(f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(o427sub:0), java.lang.Object(o427sub:0))) :|: TRUE R rules: f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3078_0_getFirst_Return(EOS(STATIC_3078), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub:0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o427sub:0)))) -> f3092_1_getFirst_InvokeMethod(f3049_0_getFirst_FieldAccess(EOS(STATIC_3049), java.lang.Object(o427sub:0), java.lang.Object(o427sub:0))) :|: TRUE f3092_1_getFirst_InvokeMethod(f3078_0_getFirst_Return(EOS(STATIC_3078), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3092_1_getFirst_InvokeMethod(f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3567_0_getFirst_Return(EOS(STATIC_3567), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE Filtered ground terms: f3049_0_getFirst_FieldAccess(x1, x2, x3) -> f3049_0_getFirst_FieldAccess(x2, x3) DoublyLinkedList.DoublyLinkedList(x1, x2) -> DoublyLinkedList.DoublyLinkedList(x2) f3078_0_getFirst_Return(x1, x2) -> f3078_0_getFirst_Return f3567_0_getFirst_Return(x1, x2) -> f3567_0_getFirst_Return Filtered duplicate args: f3049_0_getFirst_FieldAccess(x1, x2) -> f3049_0_getFirst_FieldAccess(x2) Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o427sub:0:0)))) -> F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(o427sub:0:0)) :|: TRUE R rules: ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o427sub:0:0)))) -> F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(o427sub:0:0)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o427sub:0:0)))) -> F3049_0_GETFIRST_FIELDACCESS(java.lang.Object(o427sub:0:0)) The graph contains the following edges 1 > 1 ---------------------------------------- (26) YES ---------------------------------------- (27) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: DoublyLinkedList.DoublyLinkedList.createList()LDoublyLinkedList/DoublyLinkedList; SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (28) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 95 IRulesP rules: f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719) -> f4593_0_createList_GE(EOS(STATIC_4593(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719, i718) :|: TRUE f4593_0_createList_GE(EOS(STATIC_4593(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719, i718) -> f4599_0_createList_GE(EOS(STATIC_4599(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719, i718) :|: i719 < i718 f4599_0_createList_GE(EOS(STATIC_4599(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719, i718) -> f4604_0_createList_Load(EOS(STATIC_4604(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719) :|: i719 < i718 f4604_0_createList_Load(EOS(STATIC_4604(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719) -> f4615_0_createList_Store(EOS(STATIC_4615(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692) :|: TRUE f4615_0_createList_Store(EOS(STATIC_4615(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692) -> f4619_0_createList_New(EOS(STATIC_4619(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692) :|: TRUE f4619_0_createList_New(EOS(STATIC_4619(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692) -> f4622_0_createList_Duplicate(EOS(STATIC_4622(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4622_0_createList_Duplicate(EOS(STATIC_4622(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4625_0_createList_InvokeMethod(EOS(STATIC_4625(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4625_0_createList_InvokeMethod(EOS(STATIC_4625(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4629_0_random_FieldAccess(EOS(STATIC_4629(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4629_0_random_FieldAccess(EOS(STATIC_4629(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4634_0_random_ArrayLength(EOS(STATIC_4634(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) :|: TRUE f4634_0_random_ArrayLength(EOS(STATIC_4634(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) -> f4637_0_random_FieldAccess(EOS(STATIC_4637(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4) :|: i4 >= 0 f4637_0_random_FieldAccess(EOS(STATIC_4637(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4) -> f4640_0_random_GT(EOS(STATIC_4640(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) :|: TRUE f4640_0_random_GT(EOS(STATIC_4640(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) -> f4642_0_random_GT(EOS(STATIC_4642(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) :|: i4 > i717 f4640_0_random_GT(EOS(STATIC_4640(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) -> f4643_0_random_GT(EOS(STATIC_4643(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) :|: i4 <= i717 f4642_0_random_GT(EOS(STATIC_4642(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) -> f4646_0_random_FieldAccess(EOS(STATIC_4646(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: i4 > i717 f4646_0_random_FieldAccess(EOS(STATIC_4646(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4650_0_random_FieldAccess(EOS(STATIC_4650(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) :|: TRUE f4650_0_random_FieldAccess(EOS(STATIC_4650(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) -> f4654_0_random_ArrayAccess(EOS(STATIC_4654(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i717) :|: TRUE f4654_0_random_ArrayAccess(EOS(STATIC_4654(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i717) -> f4658_0_random_ArrayAccess(EOS(STATIC_4658(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i717) :|: TRUE f4658_0_random_ArrayAccess(EOS(STATIC_4658(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i717) -> f4664_0_random_Store(EOS(STATIC_4664(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) :|: i717 < i4 f4664_0_random_Store(EOS(STATIC_4664(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) -> f4669_0_random_FieldAccess(EOS(STATIC_4669(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) :|: TRUE f4669_0_random_FieldAccess(EOS(STATIC_4669(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) -> f4673_0_random_ConstantStackPush(EOS(STATIC_4673(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i717) :|: TRUE f4673_0_random_ConstantStackPush(EOS(STATIC_4673(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i717) -> f4679_0_random_IntArithmetic(EOS(STATIC_4679(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i717, 1) :|: TRUE f4679_0_random_IntArithmetic(EOS(STATIC_4679(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i717, matching1) -> f4685_0_random_FieldAccess(EOS(STATIC_4685(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i717 + 1) :|: i717 >= 0 && matching1 = 1 f4685_0_random_FieldAccess(EOS(STATIC_4685(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, i833) -> f4690_0_random_Load(EOS(STATIC_4690(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) :|: TRUE f4690_0_random_Load(EOS(STATIC_4690(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791) -> f4696_0_random_NONNULL(EOS(STATIC_4696(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o791, o791) :|: TRUE f4696_0_random_NONNULL(EOS(STATIC_4696(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub), java.lang.Object(o860sub)) -> f4704_0_random_NONNULL(EOS(STATIC_4704(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub), java.lang.Object(o860sub)) :|: TRUE f4696_0_random_NONNULL(EOS(STATIC_4696(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) -> f4705_0_random_NONNULL(EOS(STATIC_4705(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) :|: TRUE f4704_0_random_NONNULL(EOS(STATIC_4704(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub), java.lang.Object(o860sub)) -> f4711_0_random_Load(EOS(STATIC_4711(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub)) :|: TRUE f4711_0_random_Load(EOS(STATIC_4711(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub)) -> f4717_0_random_InvokeMethod(EOS(STATIC_4717(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o860sub)) :|: TRUE f4717_0_random_InvokeMethod(EOS(STATIC_4717(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) -> f4723_0_random_InvokeMethod(EOS(STATIC_4723(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) :|: TRUE f4723_0_random_InvokeMethod(EOS(STATIC_4723(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) -> f4728_0_length_Load(EOS(STATIC_4728(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) :|: TRUE f4728_0_length_Load(EOS(STATIC_4728(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) -> f4739_0_length_FieldAccess(EOS(STATIC_4739(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o891sub)) :|: TRUE f4739_0_length_FieldAccess(EOS(STATIC_4739(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i875))) -> f4747_0_length_FieldAccess(EOS(STATIC_4747(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i875))) :|: i875 >= 0 f4747_0_length_FieldAccess(EOS(STATIC_4747(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i875))) -> f4755_0_length_Return(EOS(STATIC_4755(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4755_0_length_Return(EOS(STATIC_4755(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4760_0_random_Return(EOS(STATIC_4760(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4760_0_random_Return(EOS(STATIC_4760(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4764_0_createList_InvokeMethod(EOS(STATIC_4764(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4764_0_createList_InvokeMethod(EOS(STATIC_4764(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4767_0__init__Load(EOS(STATIC_4767(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4767_0__init__Load(EOS(STATIC_4767(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4772_0__init__InvokeMethod(EOS(STATIC_4772(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4772_0__init__InvokeMethod(EOS(STATIC_4772(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4774_0__init__Load(EOS(STATIC_4774(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4774_0__init__Load(EOS(STATIC_4774(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4776_0__init__Load(EOS(STATIC_4776(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4776_0__init__Load(EOS(STATIC_4776(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4778_0__init__FieldAccess(EOS(STATIC_4778(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) :|: TRUE f4778_0__init__FieldAccess(EOS(STATIC_4778(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i875) -> f4780_0__init__Return(EOS(STATIC_4780(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4780_0__init__Return(EOS(STATIC_4780(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4782_0_createList_Store(EOS(STATIC_4782(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4782_0_createList_Store(EOS(STATIC_4782(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4784_0_createList_Load(EOS(STATIC_4784(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) :|: TRUE f4784_0_createList_Load(EOS(STATIC_4784(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) -> f4786_0_createList_Load(EOS(STATIC_4786(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4786_0_createList_Load(EOS(STATIC_4786(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4788_0_createList_FieldAccess(EOS(STATIC_4788(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o692) :|: TRUE f4788_0_createList_FieldAccess(EOS(STATIC_4788(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o692) -> f4790_0_createList_Load(EOS(STATIC_4790(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) :|: TRUE f4790_0_createList_Load(EOS(STATIC_4790(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) -> f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, o692) :|: TRUE f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub), java.lang.Object(o978sub)) -> f4794_0_createList_NULL(EOS(STATIC_4794(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub), java.lang.Object(o978sub)) :|: TRUE f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) -> f4795_0_createList_NULL(EOS(STATIC_4795(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) :|: TRUE f4794_0_createList_NULL(EOS(STATIC_4794(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub), java.lang.Object(o978sub)) -> f4797_0_createList_Load(EOS(STATIC_4797(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub)) :|: TRUE f4797_0_createList_Load(EOS(STATIC_4797(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub)) -> f4800_0_createList_Load(EOS(STATIC_4800(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub)) :|: TRUE f4800_0_createList_Load(EOS(STATIC_4800(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub)) -> f4802_0_createList_FieldAccess(EOS(STATIC_4802(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o978sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4802_0_createList_FieldAccess(EOS(STATIC_4802(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4804_0_createList_FieldAccess(EOS(STATIC_4804(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4804_0_createList_FieldAccess(EOS(STATIC_4804(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4805_0_createList_Inc(EOS(STATIC_4805(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) :|: TRUE f4805_0_createList_Inc(EOS(STATIC_4805(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) -> f4806_0_createList_JMP(EOS(STATIC_4806(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719 + 1) :|: TRUE f4806_0_createList_JMP(EOS(STATIC_4806(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i908) -> f4807_0_createList_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i908) :|: TRUE f4807_0_createList_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i908) -> f4581_0_createList_Load(EOS(STATIC_4581(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i908) :|: TRUE f4581_0_createList_Load(EOS(STATIC_4581(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719) -> f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4)), i717)), i718, o692, i719, i719) :|: TRUE f4795_0_createList_NULL(EOS(STATIC_4795(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) -> f4798_0_createList_Inc(EOS(STATIC_4798(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) :|: TRUE f4798_0_createList_Inc(EOS(STATIC_4798(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) -> f4801_0_createList_JMP(EOS(STATIC_4801(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719 + 1) :|: TRUE f4801_0_createList_JMP(EOS(STATIC_4801(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i897) -> f4803_0_createList_Load(EOS(STATIC_4803(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i897) :|: TRUE f4803_0_createList_Load(EOS(STATIC_4803(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i897) -> f4581_0_createList_Load(EOS(STATIC_4581(java.lang.Object(ARRAY(i4)), i833)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i897) :|: TRUE f4705_0_random_NONNULL(EOS(STATIC_4705(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) -> f4712_0_random_ConstantStackPush(EOS(STATIC_4712(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4712_0_random_ConstantStackPush(EOS(STATIC_4712(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4718_0_random_Return(EOS(STATIC_4718(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE f4718_0_random_Return(EOS(STATIC_4718(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4724_0_createList_InvokeMethod(EOS(STATIC_4724(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4724_0_createList_InvokeMethod(EOS(STATIC_4724(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4764_0_createList_InvokeMethod(EOS(STATIC_4764(java.lang.Object(ARRAY(i4)), i833)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4643_0_random_GT(EOS(STATIC_4643(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i717) -> f4647_0_random_ConstantStackPush(EOS(STATIC_4647(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: i4 <= i717 f4647_0_random_ConstantStackPush(EOS(STATIC_4647(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4651_0_random_Return(EOS(STATIC_4651(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE f4651_0_random_Return(EOS(STATIC_4651(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4655_0_createList_InvokeMethod(EOS(STATIC_4655(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4655_0_createList_InvokeMethod(EOS(STATIC_4655(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4660_0__init__Load(EOS(STATIC_4660(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4660_0__init__Load(EOS(STATIC_4660(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4670_0__init__InvokeMethod(EOS(STATIC_4670(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4670_0__init__InvokeMethod(EOS(STATIC_4670(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4675_0__init__Load(EOS(STATIC_4675(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4675_0__init__Load(EOS(STATIC_4675(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4681_0__init__Load(EOS(STATIC_4681(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4681_0__init__Load(EOS(STATIC_4681(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4686_0__init__FieldAccess(EOS(STATIC_4686(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4686_0__init__FieldAccess(EOS(STATIC_4686(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4692_0__init__Return(EOS(STATIC_4692(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4692_0__init__Return(EOS(STATIC_4692(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4698_0_createList_Store(EOS(STATIC_4698(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4698_0_createList_Store(EOS(STATIC_4698(java.lang.Object(ARRAY(i4)), i717)), i718, i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4706_0_createList_Load(EOS(STATIC_4706(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) :|: TRUE f4706_0_createList_Load(EOS(STATIC_4706(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) -> f4714_0_createList_Load(EOS(STATIC_4714(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4714_0_createList_Load(EOS(STATIC_4714(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4720_0_createList_FieldAccess(EOS(STATIC_4720(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o692) :|: TRUE f4720_0_createList_FieldAccess(EOS(STATIC_4720(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o692) -> f4725_0_createList_Load(EOS(STATIC_4725(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) :|: TRUE f4725_0_createList_Load(EOS(STATIC_4725(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692) -> f4731_0_createList_NULL(EOS(STATIC_4731(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, o692, o692) :|: TRUE f4731_0_createList_NULL(EOS(STATIC_4731(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub), java.lang.Object(o922sub)) -> f4735_0_createList_NULL(EOS(STATIC_4735(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub), java.lang.Object(o922sub)) :|: TRUE f4731_0_createList_NULL(EOS(STATIC_4731(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) -> f4736_0_createList_NULL(EOS(STATIC_4736(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) :|: TRUE f4735_0_createList_NULL(EOS(STATIC_4735(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub), java.lang.Object(o922sub)) -> f4741_0_createList_Load(EOS(STATIC_4741(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub)) :|: TRUE f4741_0_createList_Load(EOS(STATIC_4741(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub)) -> f4750_0_createList_Load(EOS(STATIC_4750(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub)) :|: TRUE f4750_0_createList_Load(EOS(STATIC_4750(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub)) -> f4758_0_createList_FieldAccess(EOS(STATIC_4758(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(o922sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4758_0_createList_FieldAccess(EOS(STATIC_4758(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4763_0_createList_FieldAccess(EOS(STATIC_4763(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4763_0_createList_FieldAccess(EOS(STATIC_4763(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4766_0_createList_Inc(EOS(STATIC_4766(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) :|: TRUE f4766_0_createList_Inc(EOS(STATIC_4766(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) -> f4769_0_createList_JMP(EOS(STATIC_4769(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719 + 1) :|: TRUE f4769_0_createList_JMP(EOS(STATIC_4769(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i882) -> f4771_0_createList_Load(EOS(STATIC_4771(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i882) :|: TRUE f4771_0_createList_Load(EOS(STATIC_4771(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i882) -> f4581_0_createList_Load(EOS(STATIC_4581(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i882) :|: TRUE f4736_0_createList_NULL(EOS(STATIC_4736(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719, NULL, NULL) -> f4742_0_createList_Inc(EOS(STATIC_4742(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) :|: TRUE f4742_0_createList_Inc(EOS(STATIC_4742(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719) -> f4751_0_createList_JMP(EOS(STATIC_4751(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719 + 1) :|: TRUE f4751_0_createList_JMP(EOS(STATIC_4751(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i877) -> f4759_0_createList_Load(EOS(STATIC_4759(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i877) :|: TRUE f4759_0_createList_Load(EOS(STATIC_4759(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i877) -> f4581_0_createList_Load(EOS(STATIC_4581(java.lang.Object(ARRAY(i4)), i717)), i718, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i877) :|: TRUE Combined rules. Obtained 6 IRulesP rules: f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4:0)), i833:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0, NULL, NULL) -> f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i833:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0 + 1, i719:0 + 1) :|: TRUE f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, o692:0, i719:0, i719:0) -> f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4:0)), i717:0 + 1)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0, o692:0, o692:0) :|: i719:0 < i718:0 && i4:0 > -1 && i717:0 < i4:0 && i717:0 > -1 f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0, i719:0) -> f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0 + 1, i719:0 + 1) :|: i719:0 < i718:0 && i4:0 > -1 && i717:0 >= i4:0 f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4:0)), i833:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i833:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0 + 1, i719:0 + 1) :|: TRUE f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, NULL, i719:0, i719:0) -> f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0 + 1, i719:0 + 1) :|: i719:0 < i718:0 && i4:0 > -1 && i717:0 >= i4:0 f4588_0_createList_Load(EOS(STATIC_4588(java.lang.Object(ARRAY(i4:0)), i717:0)), i718:0, o692:0, i719:0, i719:0) -> f4791_0_createList_NULL(EOS(STATIC_4791(java.lang.Object(ARRAY(i4:0)), i717:0 + 1)), i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i719:0, o692:0, o692:0) :|: i719:0 < i718:0 && i4:0 > -1 && i717:0 < i4:0 && i875:0 > -1 && i717:0 > -1 Filtered constant ground arguments: f4791_0_createList_NULL(x1, x2, x3, x4, x5, x6) -> f4791_0_createList_NULL(x1, x2, x4, x5, x6) DoublyLinkedList.DoublyLinkedList(x1) -> DoublyLinkedList.DoublyLinkedList Filtered duplicate arguments: f4791_0_createList_NULL(x1, x2, x3, x4, x5) -> f4791_0_createList_NULL(x1, x2, x3, x5) f4588_0_createList_Load(x1, x2, x3, x4, x5) -> f4588_0_createList_Load(x1, x2, x3, x5) Finished conversion. Obtained 6 rules.P rules: f4791_0_createList_NULL(i718:0, i719:0, NULL, i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0 + 1, i4:0, i833:0) :|: TRUE f4588_0_createList_Load(i718:0, o692:0, i719:0, i4:0, i717:0) -> f4791_0_createList_NULL(i718:0, i719:0, o692:0, i4:0, i717:0 + 1) :|: i4:0 > -1 && i719:0 < i718:0 && i717:0 > -1 && i717:0 < i4:0 f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0, i4:0, i717:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0 + 1, i4:0, i717:0) :|: i4:0 > -1 && i717:0 >= i4:0 && i719:0 < i718:0 f4791_0_createList_NULL(i718:0, i719:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0 + 1, i4:0, i833:0) :|: TRUE f4588_0_createList_Load(i718:0, NULL, i719:0, i4:0, i717:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0 + 1, i4:0, i717:0) :|: i4:0 > -1 && i717:0 >= i4:0 && i719:0 < i718:0 f4588_0_createList_Load(i718:0, o692:0, i719:0, i4:0, i717:0) -> f4791_0_createList_NULL(i718:0, i719:0, o692:0, i4:0, i717:0 + 1) :|: i4:0 > -1 && i719:0 < i718:0 && i717:0 < i4:0 && i717:0 > -1 && i875:0 > -1 ---------------------------------------- (29) Obligation: Rules: f4791_0_createList_NULL(i718:0, i719:0, NULL, i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0 + 1, i4:0, i833:0) :|: TRUE f4588_0_createList_Load(x, x1, x2, x3, x4) -> f4791_0_createList_NULL(x, x2, x1, x3, x4 + 1) :|: x3 > -1 && x2 < x && x4 > -1 && x4 < x3 f4588_0_createList_Load(x5, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x6, x7, x8) -> f4588_0_createList_Load(x5, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x6 + 1, x7, x8) :|: x7 > -1 && x8 >= x7 && x6 < x5 f4791_0_createList_NULL(x9, x10, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x11, x12) -> f4588_0_createList_Load(x9, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x10 + 1, x11, x12) :|: TRUE f4588_0_createList_Load(x13, NULL, x14, x15, x16) -> f4588_0_createList_Load(x13, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x14 + 1, x15, x16) :|: x15 > -1 && x16 >= x15 && x14 < x13 f4588_0_createList_Load(x17, x18, x19, x20, x21) -> f4791_0_createList_NULL(x17, x19, x18, x20, x21 + 1) :|: x20 > -1 && x19 < x17 && x21 < x20 && x21 > -1 && x22 > -1 ---------------------------------------- (30) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (31) Obligation: Rules: f4791_0_createList_NULL(i718:0, i719:0, NULL, i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), arith, i4:0, i833:0) :|: TRUE && arith = i719:0 + 1 f4588_0_createList_Load(x23, x24, x25, x26, x27) -> f4791_0_createList_NULL(x23, x25, x24, x26, x28) :|: x26 > -1 && x25 < x23 && x27 > -1 && x27 < x26 && x28 = x27 + 1 f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x30, x31, x32) -> f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x33, x31, x32) :|: x31 > -1 && x32 >= x31 && x30 < x29 && x33 = x30 + 1 f4791_0_createList_NULL(x34, x35, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x36, x37) -> f4588_0_createList_Load(x34, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x38, x36, x37) :|: TRUE && x38 = x35 + 1 f4588_0_createList_Load(x39, NULL, x40, x41, x42) -> f4588_0_createList_Load(x39, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x43, x41, x42) :|: x41 > -1 && x42 >= x41 && x40 < x39 && x43 = x40 + 1 f4588_0_createList_Load(x44, x45, x46, x47, x48) -> f4791_0_createList_NULL(x44, x46, x45, x47, x49) :|: x47 > -1 && x46 < x44 && x48 < x47 && x48 > -1 && x50 > -1 && x49 = x48 + 1 ---------------------------------------- (32) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4791_0_createList_NULL(i718:0, i719:0, NULL, i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), arith, i4:0, i833:0) :|: TRUE && arith = i719:0 + 1 (2) f4588_0_createList_Load(x23, x24, x25, x26, x27) -> f4791_0_createList_NULL(x23, x25, x24, x26, x28) :|: x26 > -1 && x25 < x23 && x27 > -1 && x27 < x26 && x28 = x27 + 1 (3) f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x30, x31, x32) -> f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x33, x31, x32) :|: x31 > -1 && x32 >= x31 && x30 < x29 && x33 = x30 + 1 (4) f4791_0_createList_NULL(x34, x35, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x36, x37) -> f4588_0_createList_Load(x34, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x38, x36, x37) :|: TRUE && x38 = x35 + 1 (5) f4588_0_createList_Load(x39, NULL, x40, x41, x42) -> f4588_0_createList_Load(x39, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x43, x41, x42) :|: x41 > -1 && x42 >= x41 && x40 < x39 && x43 = x40 + 1 (6) f4588_0_createList_Load(x44, x45, x46, x47, x48) -> f4791_0_createList_NULL(x44, x46, x45, x47, x49) :|: x47 > -1 && x46 < x44 && x48 < x47 && x48 > -1 && x50 > -1 && x49 = x48 + 1 Arcs: (1) -> (2), (3), (6) (2) -> (1), (4) (3) -> (3) (4) -> (2), (3), (6) (5) -> (3) (6) -> (1), (4) This digraph is fully evaluated! ---------------------------------------- (33) Complex Obligation (AND) ---------------------------------------- (34) Obligation: Termination digraph: Nodes: (1) f4791_0_createList_NULL(i718:0, i719:0, NULL, i4:0, i833:0) -> f4588_0_createList_Load(i718:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), arith, i4:0, i833:0) :|: TRUE && arith = i719:0 + 1 (2) f4588_0_createList_Load(x23, x24, x25, x26, x27) -> f4791_0_createList_NULL(x23, x25, x24, x26, x28) :|: x26 > -1 && x25 < x23 && x27 > -1 && x27 < x26 && x28 = x27 + 1 (3) f4791_0_createList_NULL(x34, x35, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x36, x37) -> f4588_0_createList_Load(x34, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x38, x36, x37) :|: TRUE && x38 = x35 + 1 (4) f4588_0_createList_Load(x44, x45, x46, x47, x48) -> f4791_0_createList_NULL(x44, x46, x45, x47, x49) :|: x47 > -1 && x46 < x44 && x48 < x47 && x48 > -1 && x50 > -1 && x49 = x48 + 1 Arcs: (1) -> (2), (4) (2) -> (1), (3) (3) -> (2), (4) (4) -> (1), (3) This digraph is fully evaluated! ---------------------------------------- (35) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (36) Obligation: Rules: f4791_0_createList_NULL(x34:0, x35:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x36:0, x37:0) -> f4588_0_createList_Load(x34:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x35:0 + 1, x36:0, x37:0) :|: TRUE f4588_0_createList_Load(x23:0, x24:0, x25:0, x26:0, x27:0) -> f4791_0_createList_NULL(x23:0, x25:0, x24:0, x26:0, x27:0 + 1) :|: x27:0 > -1 && x27:0 < x26:0 && x25:0 < x23:0 && x26:0 > -1 f4791_0_createList_NULL(i718:0:0, i719:0:0, NULL, i4:0:0, i833:0:0) -> f4588_0_createList_Load(i718:0:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i719:0:0 + 1, i4:0:0, i833:0:0) :|: TRUE f4588_0_createList_Load(x44:0, x45:0, x46:0, x47:0, x48:0) -> f4791_0_createList_NULL(x44:0, x46:0, x45:0, x47:0, x48:0 + 1) :|: x48:0 > -1 && x50:0 > -1 && x48:0 < x47:0 && x46:0 < x44:0 && x47:0 > -1 ---------------------------------------- (37) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4791_0_createList_NULL(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) java.lang.Object(VARIABLE) DoublyLinkedList.DoublyLinkedList() f4588_0_createList_Load(VARIABLE, VARIABLE, INTEGER, VARIABLE, VARIABLE) NULL() Replaced non-predefined constructor symbols by 0. ---------------------------------------- (38) Obligation: Rules: f4791_0_createList_NULL(x34:0, x35:0, c, x36:0, x37:0) -> f4588_0_createList_Load(x34:0, c1, c2, x36:0, x37:0) :|: c2 = x35:0 + 1 && (c1 = 0 && c = 0) && TRUE f4588_0_createList_Load(x23:0, x24:0, x25:0, x26:0, x27:0) -> f4791_0_createList_NULL(x23:0, x25:0, x24:0, x26:0, c3) :|: c3 = x27:0 + 1 && (x27:0 > -1 && x27:0 < x26:0 && x25:0 < x23:0 && x26:0 > -1) f4588_0_createList_Load(x44:0, x45:0, x46:0, x47:0, x48:0) -> f4791_0_createList_NULL(x44:0, x46:0, x45:0, x47:0, c7) :|: c7 = x48:0 + 1 && (x48:0 > -1 && x50:0 > -1 && x48:0 < x47:0 && x46:0 < x44:0 && x47:0 > -1) ---------------------------------------- (39) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4791_0_createList_NULL(x, x1, x2, x3, x4)] = -1 + x - x1 + x3 - x4 [f4588_0_createList_Load(x5, x6, x7, x8, x9)] = x5 - x7 + x8 - x9 The following rules are decreasing: f4588_0_createList_Load(x23:0, x24:0, x25:0, x26:0, x27:0) -> f4791_0_createList_NULL(x23:0, x25:0, x24:0, x26:0, c3) :|: c3 = x27:0 + 1 && (x27:0 > -1 && x27:0 < x26:0 && x25:0 < x23:0 && x26:0 > -1) f4588_0_createList_Load(x44:0, x45:0, x46:0, x47:0, x48:0) -> f4791_0_createList_NULL(x44:0, x46:0, x45:0, x47:0, c7) :|: c7 = x48:0 + 1 && (x48:0 > -1 && x50:0 > -1 && x48:0 < x47:0 && x46:0 < x44:0 && x47:0 > -1) The following rules are bounded: f4588_0_createList_Load(x23:0, x24:0, x25:0, x26:0, x27:0) -> f4791_0_createList_NULL(x23:0, x25:0, x24:0, x26:0, c3) :|: c3 = x27:0 + 1 && (x27:0 > -1 && x27:0 < x26:0 && x25:0 < x23:0 && x26:0 > -1) f4588_0_createList_Load(x44:0, x45:0, x46:0, x47:0, x48:0) -> f4791_0_createList_NULL(x44:0, x46:0, x45:0, x47:0, c7) :|: c7 = x48:0 + 1 && (x48:0 > -1 && x50:0 > -1 && x48:0 < x47:0 && x46:0 < x44:0 && x47:0 > -1) ---------------------------------------- (40) Obligation: Rules: f4791_0_createList_NULL(x34:0, x35:0, c, x36:0, x37:0) -> f4588_0_createList_Load(x34:0, c1, c2, x36:0, x37:0) :|: c2 = x35:0 + 1 && (c1 = 0 && c = 0) && TRUE ---------------------------------------- (41) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f4791_0_createList_NULL ] = 0 [ f4588_0_createList_Load ] = -1 The following rules are decreasing: f4791_0_createList_NULL(x34:0, x35:0, c, x36:0, x37:0) -> f4588_0_createList_Load(x34:0, c1, c2, x36:0, x37:0) :|: c2 = x35:0 + 1 && (c1 = 0 && c = 0) && TRUE The following rules are bounded: f4791_0_createList_NULL(x34:0, x35:0, c, x36:0, x37:0) -> f4588_0_createList_Load(x34:0, c1, c2, x36:0, x37:0) :|: c2 = x35:0 + 1 && (c1 = 0 && c = 0) && TRUE ---------------------------------------- (42) YES ---------------------------------------- (43) Obligation: Termination digraph: Nodes: (1) f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x30, x31, x32) -> f4588_0_createList_Load(x29, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x33, x31, x32) :|: x31 > -1 && x32 >= x31 && x30 < x29 && x33 = x30 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (44) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (45) Obligation: Rules: f4588_0_createList_Load(x29:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x30:0, x31:0, x32:0) -> f4588_0_createList_Load(x29:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x30:0 + 1, x31:0, x32:0) :|: x31:0 > -1 && x32:0 >= x31:0 && x30:0 < x29:0 ---------------------------------------- (46) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f4588_0_createList_Load(x1, x2, x3, x4, x5) -> f4588_0_createList_Load(x1, x3, x4, x5) ---------------------------------------- (47) Obligation: Rules: f4588_0_createList_Load(x29:0, x30:0, x31:0, x32:0) -> f4588_0_createList_Load(x29:0, x30:0 + 1, x31:0, x32:0) :|: x31:0 > -1 && x32:0 >= x31:0 && x30:0 < x29:0 ---------------------------------------- (48) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4588_0_createList_Load(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (49) Obligation: Rules: f4588_0_createList_Load(x29:0, x30:0, x31:0, x32:0) -> f4588_0_createList_Load(x29:0, c, x31:0, x32:0) :|: c = x30:0 + 1 && (x31:0 > -1 && x32:0 >= x31:0 && x30:0 < x29:0) ---------------------------------------- (50) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4588_0_createList_Load(x, x1, x2, x3)] = x - x1 The following rules are decreasing: f4588_0_createList_Load(x29:0, x30:0, x31:0, x32:0) -> f4588_0_createList_Load(x29:0, c, x31:0, x32:0) :|: c = x30:0 + 1 && (x31:0 > -1 && x32:0 >= x31:0 && x30:0 < x29:0) The following rules are bounded: f4588_0_createList_Load(x29:0, x30:0, x31:0, x32:0) -> f4588_0_createList_Load(x29:0, c, x31:0, x32:0) :|: c = x30:0 + 1 && (x31:0 > -1 && x32:0 >= x31:0 && x30:0 < x29:0) ---------------------------------------- (51) YES