/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.jar /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/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, 94 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1540 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 134 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 24 ms] (13) IRSwT (14) TempFilterProof [SOUND, 28 ms] (15) IRSwT (16) IRSwTToQDPProof [SOUND, 0 ms] (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) JBCTerminationSCC (21) SCCToQDPProof [SOUND, 227 ms] (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) JBCTerminationSCC (26) SCCToIRSProof [SOUND, 62 ms] (27) IRSwT (28) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (29) IRSwT (30) IRSwTTerminationDigraphProof [EQUIVALENT, 31 ms] (31) IRSwT (32) IntTRSCompressionProof [EQUIVALENT, 0 ms] (33) IRSwT (34) TempFilterProof [SOUND, 42 ms] (35) IntTRS (36) PolynomialOrderProcessor [EQUIVALENT, 18 ms] (37) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package Gopher; public class Gopher { // by Boyer & Moore (1979) public static Tree gopher(Tree x) { if (x == null) return null; if (x.left == null) return x; else return gopher(new Tree(x.left.left, new Tree(x.left.right, x.right))); } public static void main(String[] args) { Random.args = args; Tree x = Tree.createTree(Random.random()); Tree y = gopher(x); } } package Gopher; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package Gopher; public class Tree { Tree left; Tree right; int value; public static Tree createTree(final int numElements) { final Tree t = new Tree(Random.random()); for (int i = 0; i < numElements; i++) { t.insert(Random.random()); } return t; } public Tree(final Tree l, final Tree r) { this.left = l; this.right = r; } public Tree(final int val) { this.value = val; } public void insert(final int v) { if (v <= this.value) { if (this.left == null) { this.left = new Tree(v); } else { this.left.insert(v); } } else { if (this.right == null) { this.right = new Tree(v); } else { this.right.insert(v); } } } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package Gopher; public class Gopher { // by Boyer & Moore (1979) public static Tree gopher(Tree x) { if (x == null) return null; if (x.left == null) return x; else return gopher(new Tree(x.left.left, new Tree(x.left.right, x.right))); } public static void main(String[] args) { Random.args = args; Tree x = Tree.createTree(Random.random()); Tree y = gopher(x); } } package Gopher; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package Gopher; public class Tree { Tree left; Tree right; int value; public static Tree createTree(final int numElements) { final Tree t = new Tree(Random.random()); for (int i = 0; i < numElements; i++) { t.insert(Random.random()); } return t; } public Tree(final Tree l, final Tree r) { this.left = l; this.right = r; } public Tree(final int val) { this.value = val; } public void insert(final int v) { if (v <= this.value) { if (this.left == null) { this.left = new Tree(v); } else { this.left.insert(v); } } else { if (this.right == null) { this.right = new Tree(v); } else { this.right.insert(v); } } } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Gopher.Gopher.main([Ljava/lang/String;)V: Graph of 129 nodes with 0 SCCs. Gopher.Tree.createTree(I)LGopher/Tree;: Graph of 194 nodes with 1 SCC. Gopher.Gopher.gopher(LGopher/Tree;)LGopher/Tree;: Graph of 51 nodes with 0 SCCs. Gopher.Tree.insert(I)V: Graph of 72 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: Gopher.Tree.insert(I)V SCC calls the following helper methods: Gopher.Tree.insert(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *Gopher.Tree: [value, right, left] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 30 IRulesP rules: f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(o1552sub), i1653, java.lang.Object(o1552sub), i1653, i1653) -> f3951_0_insert_FieldAccess(EOS(STATIC_3951), java.lang.Object(o1552sub), i1653, java.lang.Object(o1552sub), i1653, i1653, java.lang.Object(o1552sub)) :|: TRUE f3951_0_insert_FieldAccess(EOS(STATIC_3951), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) -> f3956_0_insert_FieldAccess(EOS(STATIC_3956), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) :|: TRUE f3956_0_insert_FieldAccess(EOS(STATIC_3956), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) -> f3961_0_insert_GT(EOS(STATIC_3961), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) :|: TRUE f3961_0_insert_GT(EOS(STATIC_3961), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) -> f3965_0_insert_GT(EOS(STATIC_3965), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) :|: i1653 > i1683 f3961_0_insert_GT(EOS(STATIC_3961), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) -> f3966_0_insert_GT(EOS(STATIC_3966), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) :|: i1653 <= i1683 f3965_0_insert_GT(EOS(STATIC_3965), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) -> f3971_0_insert_Load(EOS(STATIC_3971), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653) :|: i1653 > i1683 f3971_0_insert_Load(EOS(STATIC_3971), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653) -> f3977_0_insert_FieldAccess(EOS(STATIC_3977), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) :|: TRUE f3977_0_insert_FieldAccess(EOS(STATIC_3977), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) -> f3982_0_insert_NONNULL(EOS(STATIC_3982), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, o1562) :|: TRUE f3982_0_insert_NONNULL(EOS(STATIC_3982), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub)) -> f3989_0_insert_NONNULL(EOS(STATIC_3989), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub)) :|: TRUE f3989_0_insert_NONNULL(EOS(STATIC_3989), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub)) -> f3996_0_insert_Load(EOS(STATIC_3996), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653) :|: TRUE f3996_0_insert_Load(EOS(STATIC_3996), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653) -> f4005_0_insert_FieldAccess(EOS(STATIC_4005), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561))) :|: TRUE f4005_0_insert_FieldAccess(EOS(STATIC_4005), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561))) -> f4012_0_insert_Load(EOS(STATIC_4012), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, i1653, java.lang.Object(o1586sub)) :|: TRUE f4012_0_insert_Load(EOS(STATIC_4012), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, i1653, java.lang.Object(o1586sub)) -> f4019_0_insert_InvokeMethod(EOS(STATIC_4019), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub), i1653) :|: TRUE f4019_0_insert_InvokeMethod(EOS(STATIC_4019), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub), i1653) -> f4024_0_insert_Load(EOS(STATIC_4024), java.lang.Object(o1586sub), i1653, java.lang.Object(o1586sub), i1653) :|: i1652 >= 1 && i1653 > i1683 f4019_0_insert_InvokeMethod(EOS(STATIC_4019), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub), i1653) -> f4024_1_insert_Load(EOS(STATIC_4024), java.lang.Object(Gopher.Tree(EOC, i1683, java.lang.Object(o1586sub), o1561)), i1653, java.lang.Object(o1586sub), i1653) :|: i1652 >= 1 && i1653 > i1683 f4024_0_insert_Load(EOS(STATIC_4024), java.lang.Object(o1586sub), i1653, java.lang.Object(o1586sub), i1653) -> f4030_0_insert_Load(EOS(STATIC_4030), java.lang.Object(o1586sub), i1653, java.lang.Object(o1586sub), i1653) :|: TRUE f4030_0_insert_Load(EOS(STATIC_4030), java.lang.Object(o1586sub), i1653, java.lang.Object(o1586sub), i1653) -> f3941_0_insert_Load(EOS(STATIC_3941), java.lang.Object(o1586sub), i1653, java.lang.Object(o1586sub), i1653) :|: TRUE f3941_0_insert_Load(EOS(STATIC_3941), java.lang.Object(o1552sub), i1653, java.lang.Object(o1552sub), i1653) -> f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(o1552sub), i1653, java.lang.Object(o1552sub), i1653, i1653) :|: TRUE f3966_0_insert_GT(EOS(STATIC_3966), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, i1653, i1683) -> f3972_0_insert_Load(EOS(STATIC_3972), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653) :|: i1653 <= i1683 f3972_0_insert_Load(EOS(STATIC_3972), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653) -> f3978_0_insert_FieldAccess(EOS(STATIC_3978), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) :|: TRUE f3978_0_insert_FieldAccess(EOS(STATIC_3978), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561))) -> f3983_0_insert_NONNULL(EOS(STATIC_3983), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, o1561)), i1653, o1561) :|: TRUE f3983_0_insert_NONNULL(EOS(STATIC_3983), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub)) -> f3991_0_insert_NONNULL(EOS(STATIC_3991), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub)) :|: TRUE f3991_0_insert_NONNULL(EOS(STATIC_3991), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub)) -> f3998_0_insert_Load(EOS(STATIC_3998), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653) :|: TRUE f3998_0_insert_Load(EOS(STATIC_3998), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653) -> f4007_0_insert_FieldAccess(EOS(STATIC_4007), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub)))) :|: TRUE f4007_0_insert_FieldAccess(EOS(STATIC_4007), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, i1653, java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub)))) -> f4014_0_insert_Load(EOS(STATIC_4014), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, i1653, java.lang.Object(o1587sub)) :|: TRUE f4014_0_insert_Load(EOS(STATIC_4014), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, i1653, java.lang.Object(o1587sub)) -> f4021_0_insert_InvokeMethod(EOS(STATIC_4021), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub), i1653) :|: TRUE f4021_0_insert_InvokeMethod(EOS(STATIC_4021), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub), i1653) -> f4026_0_insert_Load(EOS(STATIC_4026), java.lang.Object(o1587sub), i1653, java.lang.Object(o1587sub), i1653) :|: i1652 >= 1 && i1653 <= i1683 f4021_0_insert_InvokeMethod(EOS(STATIC_4021), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub), i1653) -> f4026_1_insert_Load(EOS(STATIC_4026), java.lang.Object(Gopher.Tree(EOC, i1683, o1562, java.lang.Object(o1587sub))), i1653, java.lang.Object(o1587sub), i1653) :|: i1652 >= 1 && i1653 <= i1683 f4026_0_insert_Load(EOS(STATIC_4026), java.lang.Object(o1587sub), i1653, java.lang.Object(o1587sub), i1653) -> f4032_0_insert_Load(EOS(STATIC_4032), java.lang.Object(o1587sub), i1653, java.lang.Object(o1587sub), i1653) :|: TRUE f4032_0_insert_Load(EOS(STATIC_4032), java.lang.Object(o1587sub), i1653, java.lang.Object(o1587sub), i1653) -> f3941_0_insert_Load(EOS(STATIC_3941), java.lang.Object(o1587sub), i1653, java.lang.Object(o1587sub), i1653) :|: TRUE Combined rules. Obtained 4 IRulesP rules: f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(Gopher.Tree(EOC, i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0, java.lang.Object(Gopher.Tree(EOC, i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0, i1653:0) -> f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(o1587sub:0), i1653:0, java.lang.Object(o1587sub:0), i1653:0, i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(Gopher.Tree(EOC, i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0, java.lang.Object(Gopher.Tree(EOC, i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0, i1653:0) -> f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(o1586sub:0), i1653:0, java.lang.Object(o1586sub:0), i1653:0, i1653:0) :|: i1683:0 < i1653:0 && i1652:0 > 0 Removed following non-SCC rules: f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(Gopher.Tree(EOC, i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0, java.lang.Object(Gopher.Tree(EOC, i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0, i1653:0) -> f4024_1_insert_Load(EOS(STATIC_4024), java.lang.Object(Gopher.Tree(EOC, i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0, java.lang.Object(o1586sub:0), i1653:0) :|: i1683:0 < i1653:0 && i1652:0 > 0 f3946_0_insert_Load(EOS(STATIC_3946), java.lang.Object(Gopher.Tree(EOC, i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0, java.lang.Object(Gopher.Tree(EOC, i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0, i1653:0) -> f4026_1_insert_Load(EOS(STATIC_4026), java.lang.Object(Gopher.Tree(EOC, i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0, java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 Filtered constant ground arguments: f3946_0_insert_Load(x1, x2, x3, x4, x5, x6) -> f3946_0_insert_Load(x2, x3, x4, x5, x6) EOS(x1) -> EOS Gopher.Tree(x1, x2, x3, x4) -> Gopher.Tree(x2, x3, x4) Filtered duplicate arguments: f3946_0_insert_Load(x1, x2, x3, x4, x5) -> f3946_0_insert_Load(x3, x5) Finished conversion. Obtained 2 rules.P rules: f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, java.lang.Object(o1586sub:0), o1561:0)), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1586sub:0), i1653:0) :|: i1683:0 < i1653:0 && i1652:0 > 0 ---------------------------------------- (9) Obligation: Rules: f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 f3946_0_insert_Load(java.lang.Object(Gopher.Tree(x, java.lang.Object(x1), x2)), x3) -> f3946_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 f3946_0_insert_Load(java.lang.Object(Gopher.Tree(x, java.lang.Object(x1), x2)), x3) -> f3946_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 (2) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(x, java.lang.Object(x1), x2)), x3) -> f3946_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(i1683:0, o1562:0, java.lang.Object(o1587sub:0))), i1653:0) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0), i1653:0) :|: i1683:0 >= i1653:0 && i1652:0 > 0 (2) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(x, java.lang.Object(x1), x2)), x3) -> f3946_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (14) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3946_0_insert_Load(VARIABLE, INTEGER) java.lang.Object(VARIABLE) Gopher.Tree(INTEGER, VARIABLE, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (15) Obligation: Rules: f3946_0_insert_Load(java.lang.Object(Gopher.Tree(o1562:0, java.lang.Object(o1587sub:0)))) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0)) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(java.lang.Object(x1), x2))) -> f3946_0_insert_Load(java.lang.Object(x1)) ---------------------------------------- (16) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: f3946_0_insert_Load(java.lang.Object(Gopher.Tree(o1562:0, java.lang.Object(o1587sub:0)))) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0)) f3946_0_insert_Load(java.lang.Object(Gopher.Tree(java.lang.Object(x1), x2))) -> f3946_0_insert_Load(java.lang.Object(x1)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (18) 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: *f3946_0_insert_Load(java.lang.Object(Gopher.Tree(o1562:0, java.lang.Object(o1587sub:0)))) -> f3946_0_insert_Load(java.lang.Object(o1587sub:0)) The graph contains the following edges 1 > 1 *f3946_0_insert_Load(java.lang.Object(Gopher.Tree(java.lang.Object(x1), x2))) -> f3946_0_insert_Load(java.lang.Object(x1)) The graph contains the following edges 1 > 1 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Gopher.Gopher.gopher(LGopher/Tree;)LGopher/Tree; SCC calls the following helper methods: Gopher.Gopher.gopher(LGopher/Tree;)LGopher/Tree; Performed SCC analyses: *Used field analysis yielded the following read fields: *Gopher.Tree: [left, right] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 42 rules for P and 50 rules for R.P rules: f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3875_0_gopher_Load(EOS(STATIC_3875), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE f3875_0_gopher_Load(EOS(STATIC_3875), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3878_0_gopher_FieldAccess(EOS(STATIC_3878), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE f3878_0_gopher_FieldAccess(EOS(STATIC_3878), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3882_0_gopher_NONNULL(EOS(STATIC_3882), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), o1512) :|: TRUE f3882_0_gopher_NONNULL(EOS(STATIC_3882), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) -> f3887_0_gopher_NONNULL(EOS(STATIC_3887), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) :|: TRUE f3887_0_gopher_NONNULL(EOS(STATIC_3887), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) -> f3891_0_gopher_New(EOS(STATIC_3891), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) :|: TRUE f3891_0_gopher_New(EOS(STATIC_3891), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) -> f3895_0_gopher_Duplicate(EOS(STATIC_3895), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3895_0_gopher_Duplicate(EOS(STATIC_3895), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3901_0_gopher_Load(EOS(STATIC_3901), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3901_0_gopher_Load(EOS(STATIC_3901), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3905_0_gopher_FieldAccess(EOS(STATIC_3905), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) :|: TRUE f3905_0_gopher_FieldAccess(EOS(STATIC_3905), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) -> f3909_0_gopher_FieldAccess(EOS(STATIC_3909), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(o1524sub)) :|: TRUE f3909_0_gopher_FieldAccess(EOS(STATIC_3909), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3915_0_gopher_FieldAccess(EOS(STATIC_3915), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) :|: TRUE f3915_0_gopher_FieldAccess(EOS(STATIC_3915), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3920_0_gopher_New(EOS(STATIC_3920), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) :|: TRUE f3920_0_gopher_New(EOS(STATIC_3920), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) -> f3926_0_gopher_Duplicate(EOS(STATIC_3926), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3926_0_gopher_Duplicate(EOS(STATIC_3926), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3932_0_gopher_Load(EOS(STATIC_3932), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3932_0_gopher_Load(EOS(STATIC_3932), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3935_0_gopher_FieldAccess(EOS(STATIC_3935), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) :|: TRUE f3935_0_gopher_FieldAccess(EOS(STATIC_3935), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) -> f3939_0_gopher_FieldAccess(EOS(STATIC_3939), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) :|: TRUE f3939_0_gopher_FieldAccess(EOS(STATIC_3939), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3944_0_gopher_Load(EOS(STATIC_3944), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) :|: TRUE f3944_0_gopher_Load(EOS(STATIC_3944), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) -> f3949_0_gopher_FieldAccess(EOS(STATIC_3949), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) :|: TRUE f3949_0_gopher_FieldAccess(EOS(STATIC_3949), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) -> f3954_0_gopher_InvokeMethod(EOS(STATIC_3954), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3954_0_gopher_InvokeMethod(EOS(STATIC_3954), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3959_0__init__Load(EOS(STATIC_3959), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3959_0__init__Load(EOS(STATIC_3959), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3969_0__init__InvokeMethod(EOS(STATIC_3969), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3969_0__init__InvokeMethod(EOS(STATIC_3969), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3975_0__init__Load(EOS(STATIC_3975), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3975_0__init__Load(EOS(STATIC_3975), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3981_0__init__Load(EOS(STATIC_3981), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3981_0__init__Load(EOS(STATIC_3981), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3986_0__init__FieldAccess(EOS(STATIC_3986), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) :|: TRUE f3986_0__init__FieldAccess(EOS(STATIC_3986), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) -> f3994_0__init__Load(EOS(STATIC_3994), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) :|: TRUE f3994_0__init__Load(EOS(STATIC_3994), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) -> f4003_0__init__Load(EOS(STATIC_4003), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, o1542, NULL))) :|: TRUE f4003_0__init__Load(EOS(STATIC_4003), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, o1542, NULL))) -> f4011_0__init__FieldAccess(EOS(STATIC_4011), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) :|: TRUE f4011_0__init__FieldAccess(EOS(STATIC_4011), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) -> f4018_0__init__Return(EOS(STATIC_4018), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4018_0__init__Return(EOS(STATIC_4018), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4023_0_gopher_InvokeMethod(EOS(STATIC_4023), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4023_0_gopher_InvokeMethod(EOS(STATIC_4023), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4029_0__init__Load(EOS(STATIC_4029), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4029_0__init__Load(EOS(STATIC_4029), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4034_0__init__InvokeMethod(EOS(STATIC_4034), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f4034_0__init__InvokeMethod(EOS(STATIC_4034), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f4037_0__init__Load(EOS(STATIC_4037), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4037_0__init__Load(EOS(STATIC_4037), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4040_0__init__Load(EOS(STATIC_4040), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f4040_0__init__Load(EOS(STATIC_4040), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f4051_0__init__FieldAccess(EOS(STATIC_4051), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) :|: TRUE f4051_0__init__FieldAccess(EOS(STATIC_4051), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) -> f4054_0__init__Load(EOS(STATIC_4054), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4054_0__init__Load(EOS(STATIC_4054), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4057_0__init__Load(EOS(STATIC_4057), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL))) :|: TRUE f4057_0__init__Load(EOS(STATIC_4057), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL))) -> f4060_0__init__FieldAccess(EOS(STATIC_4060), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4060_0__init__FieldAccess(EOS(STATIC_4060), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4063_0__init__Return(EOS(STATIC_4063), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4063_0__init__Return(EOS(STATIC_4063), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4066_0_gopher_InvokeMethod(EOS(STATIC_4066), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4066_0_gopher_InvokeMethod(EOS(STATIC_4066), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4069_1_gopher_InvokeMethod(f4069_0_gopher_Load(EOS(STATIC_4069), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)))))) :|: TRUE f4069_0_gopher_Load(EOS(STATIC_4069), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4070_0_gopher_Load(EOS(STATIC_4070), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4070_0_gopher_Load(EOS(STATIC_4070), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f3867_0_gopher_Load(EOS(STATIC_3867), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f3867_0_gopher_Load(EOS(STATIC_3867), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE R rules: f3867_0_gopher_Load(EOS(STATIC_3867), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3875_0_gopher_Load(EOS(STATIC_3875), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE f3875_0_gopher_Load(EOS(STATIC_3875), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3878_0_gopher_FieldAccess(EOS(STATIC_3878), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) :|: TRUE f3878_0_gopher_FieldAccess(EOS(STATIC_3878), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), java.lang.Object(Gopher.Tree(EOC, o1512, o1513))) -> f3882_0_gopher_NONNULL(EOS(STATIC_3882), java.lang.Object(Gopher.Tree(EOC, o1512, o1513)), o1512) :|: TRUE f3882_0_gopher_NONNULL(EOS(STATIC_3882), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) -> f3887_0_gopher_NONNULL(EOS(STATIC_3887), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) :|: TRUE f3882_0_gopher_NONNULL(EOS(STATIC_3882), java.lang.Object(Gopher.Tree(EOC, NULL, o1513)), NULL) -> f3888_0_gopher_NONNULL(EOS(STATIC_3888), java.lang.Object(Gopher.Tree(EOC, NULL, o1513)), NULL) :|: TRUE f3887_0_gopher_NONNULL(EOS(STATIC_3887), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(o1524sub)) -> f3891_0_gopher_New(EOS(STATIC_3891), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) :|: TRUE f3888_0_gopher_NONNULL(EOS(STATIC_3888), java.lang.Object(Gopher.Tree(EOC, NULL, o1513)), NULL) -> f3892_0_gopher_Load(EOS(STATIC_3892), java.lang.Object(Gopher.Tree(EOC, NULL, o1513))) :|: TRUE f3891_0_gopher_New(EOS(STATIC_3891), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) -> f3895_0_gopher_Duplicate(EOS(STATIC_3895), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3892_0_gopher_Load(EOS(STATIC_3892), java.lang.Object(Gopher.Tree(EOC, NULL, o1513))) -> f3896_0_gopher_Return(EOS(STATIC_3896), java.lang.Object(Gopher.Tree(EOC, NULL, o1513))) :|: TRUE f3895_0_gopher_Duplicate(EOS(STATIC_3895), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3901_0_gopher_Load(EOS(STATIC_3901), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3901_0_gopher_Load(EOS(STATIC_3901), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3905_0_gopher_FieldAccess(EOS(STATIC_3905), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) :|: TRUE f3905_0_gopher_FieldAccess(EOS(STATIC_3905), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513))) -> f3909_0_gopher_FieldAccess(EOS(STATIC_3909), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(o1524sub), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(o1524sub)) :|: TRUE f3909_0_gopher_FieldAccess(EOS(STATIC_3909), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3915_0_gopher_FieldAccess(EOS(STATIC_3915), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) :|: TRUE f3915_0_gopher_FieldAccess(EOS(STATIC_3915), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3920_0_gopher_New(EOS(STATIC_3920), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) :|: TRUE f3920_0_gopher_New(EOS(STATIC_3920), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) -> f3926_0_gopher_Duplicate(EOS(STATIC_3926), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3926_0_gopher_Duplicate(EOS(STATIC_3926), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3932_0_gopher_Load(EOS(STATIC_3932), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3932_0_gopher_Load(EOS(STATIC_3932), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3935_0_gopher_FieldAccess(EOS(STATIC_3935), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) :|: TRUE f3935_0_gopher_FieldAccess(EOS(STATIC_3935), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) -> f3939_0_gopher_FieldAccess(EOS(STATIC_3939), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) :|: TRUE f3939_0_gopher_FieldAccess(EOS(STATIC_3939), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, o1542))) -> f3944_0_gopher_Load(EOS(STATIC_3944), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) :|: TRUE f3944_0_gopher_Load(EOS(STATIC_3944), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) -> f3949_0_gopher_FieldAccess(EOS(STATIC_3949), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) :|: TRUE f3949_0_gopher_FieldAccess(EOS(STATIC_3949), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541, o1542)), o1513))) -> f3954_0_gopher_InvokeMethod(EOS(STATIC_3954), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3954_0_gopher_InvokeMethod(EOS(STATIC_3954), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3959_0__init__Load(EOS(STATIC_3959), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3959_0__init__Load(EOS(STATIC_3959), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3969_0__init__InvokeMethod(EOS(STATIC_3969), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3969_0__init__InvokeMethod(EOS(STATIC_3969), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3975_0__init__Load(EOS(STATIC_3975), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) :|: TRUE f3975_0__init__Load(EOS(STATIC_3975), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513) -> f3981_0__init__Load(EOS(STATIC_3981), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f3981_0__init__Load(EOS(STATIC_3981), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542, o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f3986_0__init__FieldAccess(EOS(STATIC_3986), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) :|: TRUE f3986_0__init__FieldAccess(EOS(STATIC_3986), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1542) -> f3994_0__init__Load(EOS(STATIC_3994), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) :|: TRUE f3994_0__init__Load(EOS(STATIC_3994), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) -> f4003_0__init__Load(EOS(STATIC_4003), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, o1542, NULL))) :|: TRUE f4003_0__init__Load(EOS(STATIC_4003), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513, java.lang.Object(Gopher.Tree(EOC, o1542, NULL))) -> f4011_0__init__FieldAccess(EOS(STATIC_4011), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) :|: TRUE f4011_0__init__FieldAccess(EOS(STATIC_4011), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, NULL)), o1513) -> f4018_0__init__Return(EOS(STATIC_4018), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4018_0__init__Return(EOS(STATIC_4018), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4023_0_gopher_InvokeMethod(EOS(STATIC_4023), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4023_0_gopher_InvokeMethod(EOS(STATIC_4023), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4029_0__init__Load(EOS(STATIC_4029), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4029_0__init__Load(EOS(STATIC_4029), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4034_0__init__InvokeMethod(EOS(STATIC_4034), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f4034_0__init__InvokeMethod(EOS(STATIC_4034), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f4037_0__init__Load(EOS(STATIC_4037), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4037_0__init__Load(EOS(STATIC_4037), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4040_0__init__Load(EOS(STATIC_4040), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) :|: TRUE f4040_0__init__Load(EOS(STATIC_4040), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL))) -> f4051_0__init__FieldAccess(EOS(STATIC_4051), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) :|: TRUE f4051_0__init__FieldAccess(EOS(STATIC_4051), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, NULL, NULL)), o1541) -> f4054_0__init__Load(EOS(STATIC_4054), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4054_0__init__Load(EOS(STATIC_4054), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4057_0__init__Load(EOS(STATIC_4057), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL))) :|: TRUE f4057_0__init__Load(EOS(STATIC_4057), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL))) -> f4060_0__init__FieldAccess(EOS(STATIC_4060), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) :|: TRUE f4060_0__init__FieldAccess(EOS(STATIC_4060), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1541, NULL)), java.lang.Object(Gopher.Tree(EOC, o1542, o1513))) -> f4063_0__init__Return(EOS(STATIC_4063), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4063_0__init__Return(EOS(STATIC_4063), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4066_0_gopher_InvokeMethod(EOS(STATIC_4066), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4066_0_gopher_InvokeMethod(EOS(STATIC_4066), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4069_1_gopher_InvokeMethod(f4069_0_gopher_Load(EOS(STATIC_4069), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513)))))) :|: TRUE f4069_0_gopher_Load(EOS(STATIC_4069), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f4070_0_gopher_Load(EOS(STATIC_4070), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4088_0_gopher_Return(EOS(STATIC_4088), java.lang.Object(Gopher.Tree(EOC, NULL, o2231))) -> f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2231))) :|: TRUE f4098_0_gopher_Return(EOS(STATIC_4098), java.lang.Object(Gopher.Tree(EOC, NULL, o2327))) -> f4100_0_gopher_Return(EOS(STATIC_4100), java.lang.Object(Gopher.Tree(EOC, NULL, o2327))) :|: TRUE f4100_0_gopher_Return(EOS(STATIC_4100), java.lang.Object(Gopher.Tree(EOC, NULL, o2327))) -> f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2327))) :|: TRUE f4070_0_gopher_Load(EOS(STATIC_4070), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) -> f3867_0_gopher_Load(EOS(STATIC_3867), java.lang.Object(Gopher.Tree(EOC, o1541, java.lang.Object(Gopher.Tree(EOC, o1542, o1513))))) :|: TRUE f4069_1_gopher_InvokeMethod(f3896_0_gopher_Return(EOS(STATIC_3896), java.lang.Object(Gopher.Tree(EOC, NULL, o2231)))) -> f4088_0_gopher_Return(EOS(STATIC_4088), java.lang.Object(Gopher.Tree(EOC, NULL, o2231))) :|: TRUE f4069_1_gopher_InvokeMethod(f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2327)))) -> f4098_0_gopher_Return(EOS(STATIC_4098), java.lang.Object(Gopher.Tree(EOC, NULL, o2327))) :|: TRUE Combined rules. Obtained 1 conditional rules for P and 4 conditional rules for R.P rules: f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541:0, o1542:0)), o1513:0)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541:0, o1542:0)), o1513:0))) -> f4069_1_gopher_InvokeMethod(f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1541:0, java.lang.Object(Gopher.Tree(EOC, o1542:0, o1513:0)))), java.lang.Object(Gopher.Tree(EOC, o1541:0, java.lang.Object(Gopher.Tree(EOC, o1542:0, o1513:0)))))) :|: TRUE R rules: f4069_1_gopher_InvokeMethod(f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2327:0)))) -> f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2327:0))) :|: TRUE f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, NULL, o1513:0)), java.lang.Object(Gopher.Tree(EOC, NULL, o1513:0))) -> f3896_0_gopher_Return(EOS(STATIC_3896), java.lang.Object(Gopher.Tree(EOC, NULL, o1513:0))) :|: TRUE f4069_1_gopher_InvokeMethod(f3896_0_gopher_Return(EOS(STATIC_3896), java.lang.Object(Gopher.Tree(EOC, NULL, o2231:0)))) -> f4092_0_gopher_Return(EOS(STATIC_4092), java.lang.Object(Gopher.Tree(EOC, NULL, o2231:0))) :|: TRUE f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541:0, o1542:0)), o1513:0)), java.lang.Object(Gopher.Tree(EOC, java.lang.Object(Gopher.Tree(EOC, o1541:0, o1542:0)), o1513:0))) -> f4069_1_gopher_InvokeMethod(f3871_0_gopher_NONNULL(EOS(STATIC_3871), java.lang.Object(Gopher.Tree(EOC, o1541:0, java.lang.Object(Gopher.Tree(EOC, o1542:0, o1513:0)))), java.lang.Object(Gopher.Tree(EOC, o1541:0, java.lang.Object(Gopher.Tree(EOC, o1542:0, o1513:0)))))) :|: TRUE Filtered ground terms: f3871_0_gopher_NONNULL(x1, x2, x3) -> f3871_0_gopher_NONNULL(x2, x3) Gopher.Tree(x1, x2, x3) -> Gopher.Tree(x2, x3) f4092_0_gopher_Return(x1, x2) -> f4092_0_gopher_Return(x2) f3896_0_gopher_Return(x1, x2) -> f3896_0_gopher_Return(x2) Filtered unneeded arguments: Gopher.Tree(x1, x2) -> Gopher.Tree(x1) Filtered duplicate args: f3871_0_gopher_NONNULL(x1, x2) -> f3871_0_gopher_NONNULL(x2) Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(java.lang.Object(Gopher.Tree(o1541:0:0))))) -> F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(o1541:0:0))) :|: TRUE R rules: ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(java.lang.Object(Gopher.Tree(o1541:0:0))))) -> F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(o1541:0:0))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) 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: *F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(java.lang.Object(Gopher.Tree(o1541:0:0))))) -> F3871_0_GOPHER_NONNULL(java.lang.Object(Gopher.Tree(o1541:0:0))) The graph contains the following edges 1 > 1 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Gopher.Tree.createTree(I)LGopher/Tree; SCC calls the following helper methods: Gopher.Tree.insert(I)V 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: ---------------------------------------- (26) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 40 IRulesP rules: f3819_0_createTree_Load(EOS(STATIC_3819(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499) -> f3820_0_createTree_GE(EOS(STATIC_3820(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499, i1497) :|: TRUE f3820_0_createTree_GE(EOS(STATIC_3820(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499, i1497) -> f3823_0_createTree_GE(EOS(STATIC_3823(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499, i1497) :|: i1499 < i1497 f3823_0_createTree_GE(EOS(STATIC_3823(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499, i1497) -> f3826_0_createTree_Load(EOS(STATIC_3826(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: i1499 < i1497 f3826_0_createTree_Load(EOS(STATIC_3826(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f3829_0_createTree_InvokeMethod(EOS(STATIC_3829(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC))) :|: TRUE f3829_0_createTree_InvokeMethod(EOS(STATIC_3829(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC))) -> f3832_0_random_FieldAccess(EOS(STATIC_3832(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC))) :|: TRUE f3832_0_random_FieldAccess(EOS(STATIC_3832(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC))) -> f3837_0_random_FieldAccess(EOS(STATIC_3837(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495))) :|: TRUE f3837_0_random_FieldAccess(EOS(STATIC_3837(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495))) -> f3840_0_random_ArrayAccess(EOS(STATIC_3840(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1496) :|: TRUE f3840_0_random_ArrayAccess(EOS(STATIC_3840(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1526) -> f3844_0_random_ArrayAccess(EOS(STATIC_3844(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1526) :|: TRUE f3844_0_random_ArrayAccess(EOS(STATIC_3844(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1526) -> f3848_0_random_ArrayAccess(EOS(STATIC_3848(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1526) :|: TRUE f3848_0_random_ArrayAccess(EOS(STATIC_3848(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(ARRAY(i1495)), i1526) -> f3852_0_random_Store(EOS(STATIC_3852(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) :|: i1526 < i1495 f3852_0_random_Store(EOS(STATIC_3852(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) -> f3856_0_random_FieldAccess(EOS(STATIC_3856(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) :|: TRUE f3856_0_random_FieldAccess(EOS(STATIC_3856(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) -> f3860_0_random_ConstantStackPush(EOS(STATIC_3860(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1526) :|: TRUE f3860_0_random_ConstantStackPush(EOS(STATIC_3860(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1526) -> f3864_0_random_IntArithmetic(EOS(STATIC_3864(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1526, 1) :|: TRUE f3864_0_random_IntArithmetic(EOS(STATIC_3864(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1526, matching1) -> f3869_0_random_FieldAccess(EOS(STATIC_3869(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1526 + 1) :|: i1526 >= 0 && matching1 = 1 f3869_0_random_FieldAccess(EOS(STATIC_3869(java.lang.Object(ARRAY(i1495)), i1526)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479, i1543) -> f3873_0_random_Load(EOS(STATIC_3873(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) :|: TRUE f3873_0_random_Load(EOS(STATIC_3873(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) -> f3876_0_random_InvokeMethod(EOS(STATIC_3876(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), o1479) :|: TRUE f3876_0_random_InvokeMethod(EOS(STATIC_3876(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1520sub)) -> f3880_0_random_InvokeMethod(EOS(STATIC_3880(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1520sub)) :|: TRUE f3880_0_random_InvokeMethod(EOS(STATIC_3880(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) -> f3884_0_random_InvokeMethod(EOS(STATIC_3884(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) :|: TRUE f3884_0_random_InvokeMethod(EOS(STATIC_3884(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) -> f3889_0_length_Load(EOS(STATIC_3889(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) :|: TRUE f3889_0_length_Load(EOS(STATIC_3889(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) -> f3898_0_length_FieldAccess(EOS(STATIC_3898(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(o1521sub)) :|: TRUE f3898_0_length_FieldAccess(EOS(STATIC_3898(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1583))) -> f3903_0_length_FieldAccess(EOS(STATIC_3903(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1583))) :|: i1583 >= 0 f3903_0_length_FieldAccess(EOS(STATIC_3903(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1583))) -> f3907_0_length_Return(EOS(STATIC_3907(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: TRUE f3907_0_length_Return(EOS(STATIC_3907(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f3912_0_random_Return(EOS(STATIC_3912(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: TRUE f3912_0_random_Return(EOS(STATIC_3912(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f3918_0_createTree_InvokeMethod(EOS(STATIC_3918(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: TRUE f3918_0_createTree_InvokeMethod(EOS(STATIC_3918(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f3923_0_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i1495)), i1543)), java.lang.Object(Gopher.Tree(EOC)), i1583, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: i1497 >= 1 && i1543 >= 1 && i1499 < i1497 && i1543 > i1499 f3918_0_createTree_InvokeMethod(EOS(STATIC_3918(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f3923_1_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i1495)), i1543)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: i1497 >= 1 && i1543 >= 1 && i1499 < i1497 && i1543 > i1499 f3923_0_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i1495)), i1543)), java.lang.Object(Gopher.Tree(EOC)), i1583, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f4444_0_insert_Load(EOS(STATIC_4444(java.lang.Object(ARRAY(i1495)), i1543)), java.lang.Object(Gopher.Tree(EOC)), i1583, java.lang.Object(Gopher.Tree(EOC)), i1583) :|: TRUE f4071_0_insert_Return(EOS(STATIC_4071(java.lang.Object(ARRAY(i2241)), i2243)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4075_0_insert_Return(EOS(STATIC_4075(java.lang.Object(ARRAY(i2241)), i2243)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f4075_0_insert_Return(EOS(STATIC_4075(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4080_0_createTree_Inc(EOS(STATIC_4080(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f4080_0_createTree_Inc(EOS(STATIC_4080(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4083_0_createTree_JMP(EOS(STATIC_4083(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499 + 1) :|: TRUE f4083_0_createTree_JMP(EOS(STATIC_4083(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i2337) -> f4086_0_createTree_Load(EOS(STATIC_4086(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i2337) :|: TRUE f4086_0_createTree_Load(EOS(STATIC_4086(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i2337) -> f3817_0_createTree_Load(EOS(STATIC_3817(java.lang.Object(ARRAY(i2298)), i2299)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i2337) :|: TRUE f3817_0_createTree_Load(EOS(STATIC_3817(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f3819_0_createTree_Load(EOS(STATIC_3819(java.lang.Object(ARRAY(i1495)), i1496)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, i1499) :|: TRUE f4074_0_insert_Return(EOS(STATIC_4074(java.lang.Object(ARRAY(i2271)), i2273)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4075_0_insert_Return(EOS(STATIC_4075(java.lang.Object(ARRAY(i2271)), i2273)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f4089_0_insert_Return(EOS(STATIC_4089(java.lang.Object(ARRAY(i2363)), i2365)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4075_0_insert_Return(EOS(STATIC_4075(java.lang.Object(ARRAY(i2363)), i2365)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f4093_0_insert_Return(EOS(STATIC_4093(java.lang.Object(ARRAY(i2407)), i2409)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) -> f4075_0_insert_Return(EOS(STATIC_4075(java.lang.Object(ARRAY(i2407)), i2409)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f3923_1_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i2241)), i2243)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i2245) -> f4071_0_insert_Return(EOS(STATIC_4071(java.lang.Object(ARRAY(i2241)), i2243)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f3923_1_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i2271)), i2273)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i2275) -> f4074_0_insert_Return(EOS(STATIC_4074(java.lang.Object(ARRAY(i2271)), i2273)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f3923_1_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i2363)), i2365)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f4089_0_insert_Return(EOS(STATIC_4089(java.lang.Object(ARRAY(i2363)), i2365)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE f3923_1_insert_Load(EOS(STATIC_3923(java.lang.Object(ARRAY(i2407)), i2409)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499, java.lang.Object(Gopher.Tree(EOC)), i1583) -> f4093_0_insert_Return(EOS(STATIC_4093(java.lang.Object(ARRAY(i2407)), i2409)), i1497, i1497, java.lang.Object(Gopher.Tree(EOC)), i1499) :|: TRUE Combined rules. Obtained 2 IRulesP rules: f3819_0_createTree_Load(EOS(STATIC_3819(java.lang.Object(ARRAY(i1495:0)), i1496:0)), i1497:0, i1497:0, java.lang.Object(Gopher.Tree(EOC)), i1499:0, i1499:0) -> f3819_0_createTree_Load(EOS(STATIC_3819(java.lang.Object(ARRAY(i1495:0)), i1496:0 + 1)), i1497:0, i1497:0, java.lang.Object(Gopher.Tree(EOC)), i1499:0 + 1, i1499:0 + 1) :|: i1499:0 < i1497:0 && i1496:0 < i1495:0 && i1496:0 > -1 && i1583:0 > -1 && i1497:0 > 0 && i1499:0 < i1496:0 + 1 Removed following non-SCC rules: f3819_0_createTree_Load(EOS(STATIC_3819(java.lang.Object(ARRAY(i1495:0)), i1496:0)), i1497:0, i1497:0, java.lang.Object(Gopher.Tree(EOC)), i1499:0, i1499:0) -> f4444_0_insert_Load(EOS(STATIC_4444(java.lang.Object(ARRAY(i1495:0)), i1496:0 + 1)), java.lang.Object(Gopher.Tree(EOC)), i1583:0, java.lang.Object(Gopher.Tree(EOC)), i1583:0) :|: i1499:0 < i1497:0 && i1496:0 < i1495:0 && i1496:0 > -1 && i1583:0 > -1 && i1497:0 > 0 && i1499:0 < i1496:0 + 1 Filtered constant ground arguments: f3819_0_createTree_Load(x1, x2, x3, x4, x5, x6) -> f3819_0_createTree_Load(x1, x2, x3, x5, x6) Gopher.Tree(x1) -> Gopher.Tree Filtered duplicate arguments: f3819_0_createTree_Load(x1, x2, x3, x4, x5) -> f3819_0_createTree_Load(x1, x3, x5) Finished conversion. Obtained 1 rules.P rules: f3819_0_createTree_Load(i1497:0, i1499:0, i1495:0, i1496:0) -> f3819_0_createTree_Load(i1497:0, i1499:0 + 1, i1495:0, i1496:0 + 1) :|: i1496:0 < i1495:0 && i1499:0 < i1497:0 && i1496:0 > -1 && i1583:0 > -1 && i1499:0 < i1496:0 + 1 && i1497:0 > 0 ---------------------------------------- (27) Obligation: Rules: f3819_0_createTree_Load(i1497:0, i1499:0, i1495:0, i1496:0) -> f3819_0_createTree_Load(i1497:0, i1499:0 + 1, i1495:0, i1496:0 + 1) :|: i1496:0 < i1495:0 && i1499:0 < i1497:0 && i1496:0 > -1 && i1583:0 > -1 && i1499:0 < i1496:0 + 1 && i1497:0 > 0 ---------------------------------------- (28) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (29) Obligation: Rules: f3819_0_createTree_Load(i1497:0, i1499:0, i1495:0, i1496:0) -> f3819_0_createTree_Load(i1497:0, arith, i1495:0, arith1) :|: i1496:0 < i1495:0 && i1499:0 < i1497:0 && i1496:0 > -1 && i1583:0 > -1 && i1499:0 < i1496:0 + 1 && i1497:0 > 0 && arith = i1499:0 + 1 && arith1 = i1496:0 + 1 ---------------------------------------- (30) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3819_0_createTree_Load(i1497:0, i1499:0, i1495:0, i1496:0) -> f3819_0_createTree_Load(i1497:0, arith, i1495:0, arith1) :|: i1496:0 < i1495:0 && i1499:0 < i1497:0 && i1496:0 > -1 && i1583:0 > -1 && i1499:0 < i1496:0 + 1 && i1497:0 > 0 && arith = i1499:0 + 1 && arith1 = i1496:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (31) Obligation: Termination digraph: Nodes: (1) f3819_0_createTree_Load(i1497:0, i1499:0, i1495:0, i1496:0) -> f3819_0_createTree_Load(i1497:0, arith, i1495:0, arith1) :|: i1496:0 < i1495:0 && i1499:0 < i1497:0 && i1496:0 > -1 && i1583:0 > -1 && i1499:0 < i1496:0 + 1 && i1497:0 > 0 && arith = i1499:0 + 1 && arith1 = i1496:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (32) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (33) Obligation: Rules: f3819_0_createTree_Load(i1497:0:0, i1499:0:0, i1495:0:0, i1496:0:0) -> f3819_0_createTree_Load(i1497:0:0, i1499:0:0 + 1, i1495:0:0, i1496:0:0 + 1) :|: i1499:0:0 < i1496:0:0 + 1 && i1497:0:0 > 0 && i1583:0:0 > -1 && i1496:0:0 > -1 && i1499:0:0 < i1497:0:0 && i1496:0:0 < i1495:0:0 ---------------------------------------- (34) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3819_0_createTree_Load(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (35) Obligation: Rules: f3819_0_createTree_Load(i1497:0:0, i1499:0:0, i1495:0:0, i1496:0:0) -> f3819_0_createTree_Load(i1497:0:0, c, i1495:0:0, c1) :|: c1 = i1496:0:0 + 1 && c = i1499:0:0 + 1 && (i1499:0:0 < i1496:0:0 + 1 && i1497:0:0 > 0 && i1583:0:0 > -1 && i1496:0:0 > -1 && i1499:0:0 < i1497:0:0 && i1496:0:0 < i1495:0:0) ---------------------------------------- (36) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f3819_0_createTree_Load(x, x1, x2, x3)] = x2 - x3 The following rules are decreasing: f3819_0_createTree_Load(i1497:0:0, i1499:0:0, i1495:0:0, i1496:0:0) -> f3819_0_createTree_Load(i1497:0:0, c, i1495:0:0, c1) :|: c1 = i1496:0:0 + 1 && c = i1499:0:0 + 1 && (i1499:0:0 < i1496:0:0 + 1 && i1497:0:0 > 0 && i1583:0:0 > -1 && i1496:0:0 > -1 && i1499:0:0 < i1497:0:0 && i1496:0:0 < i1495:0:0) The following rules are bounded: f3819_0_createTree_Load(i1497:0:0, i1499:0:0, i1495:0:0, i1496:0:0) -> f3819_0_createTree_Load(i1497:0:0, c, i1495:0:0, c1) :|: c1 = i1496:0:0 + 1 && c = i1499:0:0 + 1 && (i1499:0:0 < i1496:0:0 + 1 && i1497:0:0 > 0 && i1583:0:0 > -1 && i1496:0:0 > -1 && i1499:0:0 < i1497:0:0 && i1496:0:0 < i1495:0:0) ---------------------------------------- (37) YES