/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, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1499 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 132 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 21 ms] (13) IRSwT (14) TempFilterProof [SOUND, 23 ms] (15) IRSwT (16) IRSwTToQDPProof [SOUND, 0 ms] (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) JBCTerminationSCC (21) SCCToQDPProof [SOUND, 315 ms] (22) QDP (23) QDPSizeChangeProof [EQUIVALENT, 0 ms] (24) YES (25) JBCTerminationSCC (26) SCCToIRSProof [SOUND, 93 ms] (27) IRSwT (28) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (29) IRSwT (30) IRSwTTerminationDigraphProof [EQUIVALENT, 33 ms] (31) IRSwT (32) IntTRSCompressionProof [EQUIVALENT, 0 ms] (33) IRSwT (34) TempFilterProof [SOUND, 42 ms] (35) IntTRS (36) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (37) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package BinTreeChanger; public class BinTreeChanger { public static void main(final String[] args) { Random.args = args; final Tree t = Tree.createTree(Random.random()); t.applyTreeChanger(new AnswerAdder()); } } class AnswerAdder implements TreeChanger { public void change(final Tree t) { final Tree newLeft = new Tree(42); final Tree newRight = new Tree(42); newLeft.left = t.left; newRight.right = t.right; t.left = newLeft; t.right = newRight; } } package BinTreeChanger; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package BinTreeChanger; public interface TreeChanger { public void change(Tree t); } package BinTreeChanger; 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 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); } } } public void applyTreeChanger(final TreeChanger c) { final Tree oldLeft = this.left; final Tree oldRight = this.right; c.change(this); if (oldLeft != null) { oldLeft.applyTreeChanger(c); } if (oldRight != null) { oldRight.applyTreeChanger(c); } } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package BinTreeChanger; public class BinTreeChanger { public static void main(final String[] args) { Random.args = args; final Tree t = Tree.createTree(Random.random()); t.applyTreeChanger(new AnswerAdder()); } } class AnswerAdder implements TreeChanger { public void change(final Tree t) { final Tree newLeft = new Tree(42); final Tree newRight = new Tree(42); newLeft.left = t.left; newRight.right = t.right; t.left = newLeft; t.right = newRight; } } package BinTreeChanger; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package BinTreeChanger; public interface TreeChanger { public void change(Tree t); } package BinTreeChanger; 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 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); } } } public void applyTreeChanger(final TreeChanger c) { final Tree oldLeft = this.left; final Tree oldRight = this.right; c.change(this); if (oldLeft != null) { oldLeft.applyTreeChanger(c); } if (oldRight != null) { oldRight.applyTreeChanger(c); } } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: BinTreeChanger.BinTreeChanger.main([Ljava/lang/String;)V: Graph of 134 nodes with 0 SCCs. BinTreeChanger.Tree.createTree(I)LBinTreeChanger/Tree;: Graph of 194 nodes with 1 SCC. BinTreeChanger.Tree.applyTreeChanger(LBinTreeChanger/TreeChanger;)V: Graph of 77 nodes with 0 SCCs. BinTreeChanger.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: BinTreeChanger.Tree.insert(I)V SCC calls the following helper methods: BinTreeChanger.Tree.insert(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *BinTreeChanger.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: f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(o1501sub), i1562, java.lang.Object(o1501sub), i1562, i1562) -> f3893_0_insert_FieldAccess(EOS(STATIC_3893), java.lang.Object(o1501sub), i1562, java.lang.Object(o1501sub), i1562, i1562, java.lang.Object(o1501sub)) :|: TRUE f3893_0_insert_FieldAccess(EOS(STATIC_3893), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) -> f3898_0_insert_FieldAccess(EOS(STATIC_3898), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) :|: TRUE f3898_0_insert_FieldAccess(EOS(STATIC_3898), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) -> f3903_0_insert_GT(EOS(STATIC_3903), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) :|: TRUE f3903_0_insert_GT(EOS(STATIC_3903), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) -> f3908_0_insert_GT(EOS(STATIC_3908), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) :|: i1562 > i1592 f3903_0_insert_GT(EOS(STATIC_3903), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) -> f3909_0_insert_GT(EOS(STATIC_3909), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) :|: i1562 <= i1592 f3908_0_insert_GT(EOS(STATIC_3908), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) -> f3914_0_insert_Load(EOS(STATIC_3914), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562) :|: i1562 > i1592 f3914_0_insert_Load(EOS(STATIC_3914), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562) -> f3919_0_insert_FieldAccess(EOS(STATIC_3919), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) :|: TRUE f3919_0_insert_FieldAccess(EOS(STATIC_3919), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) -> f3924_0_insert_NONNULL(EOS(STATIC_3924), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, o1512) :|: TRUE f3924_0_insert_NONNULL(EOS(STATIC_3924), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub)) -> f3931_0_insert_NONNULL(EOS(STATIC_3931), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub)) :|: TRUE f3931_0_insert_NONNULL(EOS(STATIC_3931), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub)) -> f3938_0_insert_Load(EOS(STATIC_3938), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562) :|: TRUE f3938_0_insert_Load(EOS(STATIC_3938), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562) -> f3947_0_insert_FieldAccess(EOS(STATIC_3947), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511))) :|: TRUE f3947_0_insert_FieldAccess(EOS(STATIC_3947), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511))) -> f3954_0_insert_Load(EOS(STATIC_3954), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, i1562, java.lang.Object(o1536sub)) :|: TRUE f3954_0_insert_Load(EOS(STATIC_3954), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, i1562, java.lang.Object(o1536sub)) -> f3961_0_insert_InvokeMethod(EOS(STATIC_3961), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub), i1562) :|: TRUE f3961_0_insert_InvokeMethod(EOS(STATIC_3961), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub), i1562) -> f3966_0_insert_Load(EOS(STATIC_3966), java.lang.Object(o1536sub), i1562, java.lang.Object(o1536sub), i1562) :|: i1561 >= 1 && i1562 > i1592 f3961_0_insert_InvokeMethod(EOS(STATIC_3961), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub), i1562) -> f3966_1_insert_Load(EOS(STATIC_3966), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, java.lang.Object(o1536sub), o1511)), i1562, java.lang.Object(o1536sub), i1562) :|: i1561 >= 1 && i1562 > i1592 f3966_0_insert_Load(EOS(STATIC_3966), java.lang.Object(o1536sub), i1562, java.lang.Object(o1536sub), i1562) -> f3972_0_insert_Load(EOS(STATIC_3972), java.lang.Object(o1536sub), i1562, java.lang.Object(o1536sub), i1562) :|: TRUE f3972_0_insert_Load(EOS(STATIC_3972), java.lang.Object(o1536sub), i1562, java.lang.Object(o1536sub), i1562) -> f3884_0_insert_Load(EOS(STATIC_3884), java.lang.Object(o1536sub), i1562, java.lang.Object(o1536sub), i1562) :|: TRUE f3884_0_insert_Load(EOS(STATIC_3884), java.lang.Object(o1501sub), i1562, java.lang.Object(o1501sub), i1562) -> f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(o1501sub), i1562, java.lang.Object(o1501sub), i1562, i1562) :|: TRUE f3909_0_insert_GT(EOS(STATIC_3909), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, i1562, i1592) -> f3915_0_insert_Load(EOS(STATIC_3915), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562) :|: i1562 <= i1592 f3915_0_insert_Load(EOS(STATIC_3915), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562) -> f3920_0_insert_FieldAccess(EOS(STATIC_3920), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) :|: TRUE f3920_0_insert_FieldAccess(EOS(STATIC_3920), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511))) -> f3925_0_insert_NONNULL(EOS(STATIC_3925), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, o1511)), i1562, o1511) :|: TRUE f3925_0_insert_NONNULL(EOS(STATIC_3925), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub)) -> f3933_0_insert_NONNULL(EOS(STATIC_3933), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub)) :|: TRUE f3933_0_insert_NONNULL(EOS(STATIC_3933), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub)) -> f3940_0_insert_Load(EOS(STATIC_3940), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562) :|: TRUE f3940_0_insert_Load(EOS(STATIC_3940), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562) -> f3949_0_insert_FieldAccess(EOS(STATIC_3949), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub)))) :|: TRUE f3949_0_insert_FieldAccess(EOS(STATIC_3949), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, i1562, java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub)))) -> f3956_0_insert_Load(EOS(STATIC_3956), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, i1562, java.lang.Object(o1537sub)) :|: TRUE f3956_0_insert_Load(EOS(STATIC_3956), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, i1562, java.lang.Object(o1537sub)) -> f3963_0_insert_InvokeMethod(EOS(STATIC_3963), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub), i1562) :|: TRUE f3963_0_insert_InvokeMethod(EOS(STATIC_3963), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub), i1562) -> f3968_0_insert_Load(EOS(STATIC_3968), java.lang.Object(o1537sub), i1562, java.lang.Object(o1537sub), i1562) :|: i1561 >= 1 && i1562 <= i1592 f3963_0_insert_InvokeMethod(EOS(STATIC_3963), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub), i1562) -> f3968_1_insert_Load(EOS(STATIC_3968), java.lang.Object(BinTreeChanger.Tree(EOC, i1592, o1512, java.lang.Object(o1537sub))), i1562, java.lang.Object(o1537sub), i1562) :|: i1561 >= 1 && i1562 <= i1592 f3968_0_insert_Load(EOS(STATIC_3968), java.lang.Object(o1537sub), i1562, java.lang.Object(o1537sub), i1562) -> f3974_0_insert_Load(EOS(STATIC_3974), java.lang.Object(o1537sub), i1562, java.lang.Object(o1537sub), i1562) :|: TRUE f3974_0_insert_Load(EOS(STATIC_3974), java.lang.Object(o1537sub), i1562, java.lang.Object(o1537sub), i1562) -> f3884_0_insert_Load(EOS(STATIC_3884), java.lang.Object(o1537sub), i1562, java.lang.Object(o1537sub), i1562) :|: TRUE Combined rules. Obtained 4 IRulesP rules: f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0, java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0, i1562:0) -> f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(o1536sub:0), i1562:0, java.lang.Object(o1536sub:0), i1562:0, i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0, java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0, i1562:0) -> f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(o1537sub:0), i1562:0, java.lang.Object(o1537sub:0), i1562:0, i1562:0) :|: i1592:0 >= i1562:0 && i1561:0 > 0 Removed following non-SCC rules: f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0, java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0, i1562:0) -> f3968_1_insert_Load(EOS(STATIC_3968), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0, java.lang.Object(o1537sub:0), i1562:0) :|: i1592:0 >= i1562:0 && i1561:0 > 0 f3889_0_insert_Load(EOS(STATIC_3889), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0, java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0, i1562:0) -> f3966_1_insert_Load(EOS(STATIC_3966), java.lang.Object(BinTreeChanger.Tree(EOC, i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0, java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 Filtered constant ground arguments: f3889_0_insert_Load(x1, x2, x3, x4, x5, x6) -> f3889_0_insert_Load(x2, x3, x4, x5, x6) EOS(x1) -> EOS BinTreeChanger.Tree(x1, x2, x3, x4) -> BinTreeChanger.Tree(x2, x3, x4) Filtered duplicate arguments: f3889_0_insert_Load(x1, x2, x3, x4, x5) -> f3889_0_insert_Load(x3, x5) Finished conversion. Obtained 2 rules.P rules: f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, o1512:0, java.lang.Object(o1537sub:0))), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1537sub:0), i1562:0) :|: i1592:0 >= i1562:0 && i1561:0 > 0 ---------------------------------------- (9) Obligation: Rules: f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x, x1, java.lang.Object(x2))), x3) -> f3889_0_insert_Load(java.lang.Object(x2), 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: f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x, x1, java.lang.Object(x2))), x3) -> f3889_0_insert_Load(java.lang.Object(x2), x3) :|: x >= x3 && x4 > 0 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 (2) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x, x1, java.lang.Object(x2))), x3) -> f3889_0_insert_Load(java.lang.Object(x2), x3) :|: x >= x3 && x4 > 0 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(i1592:0, java.lang.Object(o1536sub:0), o1511:0)), i1562:0) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0), i1562:0) :|: i1592:0 < i1562:0 && i1561:0 > 0 (2) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x, x1, java.lang.Object(x2))), x3) -> f3889_0_insert_Load(java.lang.Object(x2), 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: f3889_0_insert_Load(VARIABLE, INTEGER) java.lang.Object(VARIABLE) BinTreeChanger.Tree(INTEGER, VARIABLE, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (15) Obligation: Rules: f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o1536sub:0), o1511:0))) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0)) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x1, java.lang.Object(x2)))) -> f3889_0_insert_Load(java.lang.Object(x2)) ---------------------------------------- (16) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o1536sub:0), o1511:0))) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0)) f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x1, java.lang.Object(x2)))) -> f3889_0_insert_Load(java.lang.Object(x2)) 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: *f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o1536sub:0), o1511:0))) -> f3889_0_insert_Load(java.lang.Object(o1536sub:0)) The graph contains the following edges 1 > 1 *f3889_0_insert_Load(java.lang.Object(BinTreeChanger.Tree(x1, java.lang.Object(x2)))) -> f3889_0_insert_Load(java.lang.Object(x2)) 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: BinTreeChanger.Tree.applyTreeChanger(LBinTreeChanger/TreeChanger;)V SCC calls the following helper methods: BinTreeChanger.Tree.applyTreeChanger(LBinTreeChanger/TreeChanger;)V Performed SCC analyses: *Used field analysis yielded the following read fields: *BinTreeChanger.Tree: [left, right] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 73 rules for P and 79 rules for R.P rules: f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4141_0_applyTreeChanger_FieldAccess(EOS(STATIC_4141), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4141_0_applyTreeChanger_FieldAccess(EOS(STATIC_4141), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4142_0_applyTreeChanger_Store(EOS(STATIC_4142), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) :|: TRUE f4142_0_applyTreeChanger_Store(EOS(STATIC_4142), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) -> f4143_0_applyTreeChanger_Load(EOS(STATIC_4143), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) :|: TRUE f4143_0_applyTreeChanger_Load(EOS(STATIC_4143), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) -> f4144_0_applyTreeChanger_FieldAccess(EOS(STATIC_4144), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4144_0_applyTreeChanger_FieldAccess(EOS(STATIC_4144), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4145_0_applyTreeChanger_Store(EOS(STATIC_4145), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4145_0_applyTreeChanger_Store(EOS(STATIC_4145), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4146_0_applyTreeChanger_Load(EOS(STATIC_4146), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4146_0_applyTreeChanger_Load(EOS(STATIC_4146), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4147_0_applyTreeChanger_Load(EOS(STATIC_4147), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4147_0_applyTreeChanger_Load(EOS(STATIC_4147), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4148_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4148), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4148_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4148), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4149_0_change_New(EOS(STATIC_4149), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4149_0_change_New(EOS(STATIC_4149), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4150_0_change_Duplicate(EOS(STATIC_4150), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4150_0_change_Duplicate(EOS(STATIC_4150), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4151_0_change_ConstantStackPush(EOS(STATIC_4151), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4151_0_change_ConstantStackPush(EOS(STATIC_4151), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4152_0_change_InvokeMethod(EOS(STATIC_4152), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE f4152_0_change_InvokeMethod(EOS(STATIC_4152), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4153_0__init__Load(EOS(STATIC_4153), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4153_0__init__Load(EOS(STATIC_4153), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4154_0__init__InvokeMethod(EOS(STATIC_4154), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4154_0__init__InvokeMethod(EOS(STATIC_4154), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4155_0__init__Load(EOS(STATIC_4155), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4155_0__init__Load(EOS(STATIC_4155), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4156_0__init__Load(EOS(STATIC_4156), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4156_0__init__Load(EOS(STATIC_4156), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4157_0__init__FieldAccess(EOS(STATIC_4157), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4157_0__init__FieldAccess(EOS(STATIC_4157), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4158_0__init__Return(EOS(STATIC_4158), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4158_0__init__Return(EOS(STATIC_4158), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4159_0_change_Store(EOS(STATIC_4159), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4159_0_change_Store(EOS(STATIC_4159), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4160_0_change_New(EOS(STATIC_4160), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4160_0_change_New(EOS(STATIC_4160), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4161_0_change_Duplicate(EOS(STATIC_4161), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4161_0_change_Duplicate(EOS(STATIC_4161), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4162_0_change_ConstantStackPush(EOS(STATIC_4162), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4162_0_change_ConstantStackPush(EOS(STATIC_4162), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4163_0_change_InvokeMethod(EOS(STATIC_4163), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE f4163_0_change_InvokeMethod(EOS(STATIC_4163), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4164_0__init__Load(EOS(STATIC_4164), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4164_0__init__Load(EOS(STATIC_4164), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4165_0__init__InvokeMethod(EOS(STATIC_4165), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4165_0__init__InvokeMethod(EOS(STATIC_4165), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4166_0__init__Load(EOS(STATIC_4166), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4166_0__init__Load(EOS(STATIC_4166), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4167_0__init__Load(EOS(STATIC_4167), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4167_0__init__Load(EOS(STATIC_4167), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4168_0__init__FieldAccess(EOS(STATIC_4168), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4168_0__init__FieldAccess(EOS(STATIC_4168), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4169_0__init__Return(EOS(STATIC_4169), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4169_0__init__Return(EOS(STATIC_4169), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4170_0_change_Store(EOS(STATIC_4170), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4170_0_change_Store(EOS(STATIC_4170), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4171_0_change_Load(EOS(STATIC_4171), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4171_0_change_Load(EOS(STATIC_4171), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4172_0_change_Load(EOS(STATIC_4172), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4172_0_change_Load(EOS(STATIC_4172), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4173_0_change_FieldAccess(EOS(STATIC_4173), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4173_0_change_FieldAccess(EOS(STATIC_4173), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4174_0_change_FieldAccess(EOS(STATIC_4174), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2086) :|: TRUE f4174_0_change_FieldAccess(EOS(STATIC_4174), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2086) -> f4175_0_change_Load(EOS(STATIC_4175), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4175_0_change_Load(EOS(STATIC_4175), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4176_0_change_Load(EOS(STATIC_4176), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4176_0_change_Load(EOS(STATIC_4176), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4177_0_change_FieldAccess(EOS(STATIC_4177), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4177_0_change_FieldAccess(EOS(STATIC_4177), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4178_0_change_FieldAccess(EOS(STATIC_4178), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2087) :|: TRUE f4178_0_change_FieldAccess(EOS(STATIC_4178), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2087) -> f4179_0_change_Load(EOS(STATIC_4179), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4179_0_change_Load(EOS(STATIC_4179), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4180_0_change_Load(EOS(STATIC_4180), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4180_0_change_Load(EOS(STATIC_4180), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4181_0_change_FieldAccess(EOS(STATIC_4181), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL))) :|: TRUE f4181_0_change_FieldAccess(EOS(STATIC_4181), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL))) -> f4182_0_change_Load(EOS(STATIC_4182), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4182_0_change_Load(EOS(STATIC_4182), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4183_0_change_Load(EOS(STATIC_4183), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087))) :|: TRUE f4183_0_change_Load(EOS(STATIC_4183), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087))) -> f4184_0_change_FieldAccess(EOS(STATIC_4184), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4184_0_change_FieldAccess(EOS(STATIC_4184), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4185_0_change_Return(EOS(STATIC_4185), o2086, o2087) :|: TRUE f4185_0_change_Return(EOS(STATIC_4185), o2086, o2087) -> f4186_0_applyTreeChanger_Load(EOS(STATIC_4186), o2086, o2087) :|: TRUE f4186_0_applyTreeChanger_Load(EOS(STATIC_4186), o2086, o2087) -> f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), o2086, o2087, o2086) :|: TRUE f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) -> f4188_0_applyTreeChanger_NULL(EOS(STATIC_4188), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) :|: TRUE f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), NULL, o2087, NULL) -> f4189_0_applyTreeChanger_NULL(EOS(STATIC_4189), NULL, o2087, NULL) :|: TRUE f4188_0_applyTreeChanger_NULL(EOS(STATIC_4188), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) -> f4190_0_applyTreeChanger_Load(EOS(STATIC_4190), java.lang.Object(o2099sub), o2087) :|: TRUE f4190_0_applyTreeChanger_Load(EOS(STATIC_4190), java.lang.Object(o2099sub), o2087) -> f4192_0_applyTreeChanger_Load(EOS(STATIC_4192), o2087, java.lang.Object(o2099sub)) :|: TRUE f4192_0_applyTreeChanger_Load(EOS(STATIC_4192), o2087, java.lang.Object(o2099sub)) -> f4194_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4194), o2087, java.lang.Object(o2099sub)) :|: TRUE f4194_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4194), o2087, java.lang.Object(o2099sub)) -> f4197_1_applyTreeChanger_InvokeMethod(f4197_0_applyTreeChanger_Load(EOS(STATIC_4197), java.lang.Object(o2099sub)), o2087) :|: TRUE f4197_0_applyTreeChanger_Load(EOS(STATIC_4197), java.lang.Object(o2099sub)) -> f4200_0_applyTreeChanger_Load(EOS(STATIC_4200), java.lang.Object(o2099sub)) :|: TRUE f4200_0_applyTreeChanger_Load(EOS(STATIC_4200), java.lang.Object(o2099sub)) -> f4207_0_applyTreeChanger_Load(EOS(STATIC_4207), java.lang.Object(o2099sub)) :|: TRUE f4207_0_applyTreeChanger_Load(EOS(STATIC_4207), java.lang.Object(o2099sub)) -> f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2099sub)) :|: TRUE f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2083sub)) -> f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2083sub), java.lang.Object(o2083sub)) :|: TRUE f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) -> f4209_0_applyTreeChanger_Load(EOS(STATIC_4209), o2087) :|: TRUE f4209_0_applyTreeChanger_Load(EOS(STATIC_4209), o2087) -> f4210_0_applyTreeChanger_NULL(EOS(STATIC_4210), o2087, o2087) :|: TRUE f4210_0_applyTreeChanger_NULL(EOS(STATIC_4210), o2087, o2087) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087, o2087) :|: TRUE f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) -> f4195_0_applyTreeChanger_NULL(EOS(STATIC_4195), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) :|: TRUE f4195_0_applyTreeChanger_NULL(EOS(STATIC_4195), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) -> f4198_0_applyTreeChanger_Load(EOS(STATIC_4198), java.lang.Object(o2100sub)) :|: TRUE f4198_0_applyTreeChanger_Load(EOS(STATIC_4198), java.lang.Object(o2100sub)) -> f4201_0_applyTreeChanger_Load(EOS(STATIC_4201), java.lang.Object(o2100sub)) :|: TRUE f4201_0_applyTreeChanger_Load(EOS(STATIC_4201), java.lang.Object(o2100sub)) -> f4203_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4203), java.lang.Object(o2100sub)) :|: TRUE f4203_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4203), java.lang.Object(o2100sub)) -> f4204_1_applyTreeChanger_InvokeMethod(f4204_0_applyTreeChanger_Load(EOS(STATIC_4204), java.lang.Object(o2100sub))) :|: TRUE f4204_0_applyTreeChanger_Load(EOS(STATIC_4204), java.lang.Object(o2100sub)) -> f4206_0_applyTreeChanger_Load(EOS(STATIC_4206), java.lang.Object(o2100sub)) :|: TRUE f4206_0_applyTreeChanger_Load(EOS(STATIC_4206), java.lang.Object(o2100sub)) -> f4211_0_applyTreeChanger_Load(EOS(STATIC_4211), java.lang.Object(o2100sub)) :|: TRUE f4211_0_applyTreeChanger_Load(EOS(STATIC_4211), java.lang.Object(o2100sub)) -> f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2100sub)) :|: TRUE f4216_0_applyTreeChanger_Return(EOS(STATIC_4216), o2087) -> f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) :|: TRUE f4189_0_applyTreeChanger_NULL(EOS(STATIC_4189), NULL, o2087, NULL) -> f4191_0_applyTreeChanger_Load(EOS(STATIC_4191), o2087) :|: TRUE f4191_0_applyTreeChanger_Load(EOS(STATIC_4191), o2087) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087, o2087) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)), o2087) -> f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)), o2087) -> f4216_0_applyTreeChanger_Return(EOS(STATIC_4216), o2087) :|: TRUE R rules: f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2083sub)) -> f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2083sub), java.lang.Object(o2083sub)) :|: TRUE f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4141_0_applyTreeChanger_FieldAccess(EOS(STATIC_4141), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4141_0_applyTreeChanger_FieldAccess(EOS(STATIC_4141), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4142_0_applyTreeChanger_Store(EOS(STATIC_4142), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) :|: TRUE f4142_0_applyTreeChanger_Store(EOS(STATIC_4142), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) -> f4143_0_applyTreeChanger_Load(EOS(STATIC_4143), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) :|: TRUE f4143_0_applyTreeChanger_Load(EOS(STATIC_4143), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086) -> f4144_0_applyTreeChanger_FieldAccess(EOS(STATIC_4144), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4144_0_applyTreeChanger_FieldAccess(EOS(STATIC_4144), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4145_0_applyTreeChanger_Store(EOS(STATIC_4145), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4145_0_applyTreeChanger_Store(EOS(STATIC_4145), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4146_0_applyTreeChanger_Load(EOS(STATIC_4146), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4146_0_applyTreeChanger_Load(EOS(STATIC_4146), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4147_0_applyTreeChanger_Load(EOS(STATIC_4147), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) :|: TRUE f4147_0_applyTreeChanger_Load(EOS(STATIC_4147), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), o2086, o2087) -> f4148_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4148), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4148_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4148), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4149_0_change_New(EOS(STATIC_4149), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4149_0_change_New(EOS(STATIC_4149), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4150_0_change_Duplicate(EOS(STATIC_4150), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4150_0_change_Duplicate(EOS(STATIC_4150), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4151_0_change_ConstantStackPush(EOS(STATIC_4151), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4151_0_change_ConstantStackPush(EOS(STATIC_4151), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4152_0_change_InvokeMethod(EOS(STATIC_4152), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE f4152_0_change_InvokeMethod(EOS(STATIC_4152), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4153_0__init__Load(EOS(STATIC_4153), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4153_0__init__Load(EOS(STATIC_4153), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4154_0__init__InvokeMethod(EOS(STATIC_4154), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4154_0__init__InvokeMethod(EOS(STATIC_4154), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4155_0__init__Load(EOS(STATIC_4155), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4155_0__init__Load(EOS(STATIC_4155), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4156_0__init__Load(EOS(STATIC_4156), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4156_0__init__Load(EOS(STATIC_4156), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4157_0__init__FieldAccess(EOS(STATIC_4157), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4157_0__init__FieldAccess(EOS(STATIC_4157), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4158_0__init__Return(EOS(STATIC_4158), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4158_0__init__Return(EOS(STATIC_4158), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4159_0_change_Store(EOS(STATIC_4159), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4159_0_change_Store(EOS(STATIC_4159), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4160_0_change_New(EOS(STATIC_4160), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4160_0_change_New(EOS(STATIC_4160), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4161_0_change_Duplicate(EOS(STATIC_4161), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4161_0_change_Duplicate(EOS(STATIC_4161), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4162_0_change_ConstantStackPush(EOS(STATIC_4162), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4162_0_change_ConstantStackPush(EOS(STATIC_4162), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4163_0_change_InvokeMethod(EOS(STATIC_4163), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE f4163_0_change_InvokeMethod(EOS(STATIC_4163), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4164_0__init__Load(EOS(STATIC_4164), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4164_0__init__Load(EOS(STATIC_4164), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4165_0__init__InvokeMethod(EOS(STATIC_4165), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4165_0__init__InvokeMethod(EOS(STATIC_4165), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4166_0__init__Load(EOS(STATIC_4166), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4166_0__init__Load(EOS(STATIC_4166), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4167_0__init__Load(EOS(STATIC_4167), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4167_0__init__Load(EOS(STATIC_4167), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4168_0__init__FieldAccess(EOS(STATIC_4168), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), 42) :|: TRUE && matching1 = 42 f4168_0__init__FieldAccess(EOS(STATIC_4168), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), matching1) -> f4169_0__init__Return(EOS(STATIC_4169), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE && matching1 = 42 f4169_0__init__Return(EOS(STATIC_4169), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4170_0_change_Store(EOS(STATIC_4170), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4170_0_change_Store(EOS(STATIC_4170), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4171_0_change_Load(EOS(STATIC_4171), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4171_0_change_Load(EOS(STATIC_4171), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4172_0_change_Load(EOS(STATIC_4172), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4172_0_change_Load(EOS(STATIC_4172), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4173_0_change_FieldAccess(EOS(STATIC_4173), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4173_0_change_FieldAccess(EOS(STATIC_4173), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4174_0_change_FieldAccess(EOS(STATIC_4174), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2086) :|: TRUE f4174_0_change_FieldAccess(EOS(STATIC_4174), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2086) -> f4175_0_change_Load(EOS(STATIC_4175), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4175_0_change_Load(EOS(STATIC_4175), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4176_0_change_Load(EOS(STATIC_4176), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) :|: TRUE f4176_0_change_Load(EOS(STATIC_4176), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL))) -> f4177_0_change_FieldAccess(EOS(STATIC_4177), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4177_0_change_FieldAccess(EOS(STATIC_4177), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4178_0_change_FieldAccess(EOS(STATIC_4178), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2087) :|: TRUE f4178_0_change_FieldAccess(EOS(STATIC_4178), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, NULL)), o2087) -> f4179_0_change_Load(EOS(STATIC_4179), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4179_0_change_Load(EOS(STATIC_4179), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4180_0_change_Load(EOS(STATIC_4180), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) :|: TRUE f4180_0_change_Load(EOS(STATIC_4180), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087))) -> f4181_0_change_FieldAccess(EOS(STATIC_4181), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL))) :|: TRUE f4181_0_change_FieldAccess(EOS(STATIC_4181), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL))) -> f4182_0_change_Load(EOS(STATIC_4182), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4182_0_change_Load(EOS(STATIC_4182), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4183_0_change_Load(EOS(STATIC_4183), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087))) :|: TRUE f4183_0_change_Load(EOS(STATIC_4183), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087))) -> f4184_0_change_FieldAccess(EOS(STATIC_4184), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) :|: TRUE f4184_0_change_FieldAccess(EOS(STATIC_4184), o2086, o2087, java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(BinTreeChanger.Tree(EOC, o2086, NULL)), o2087)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087))) -> f4185_0_change_Return(EOS(STATIC_4185), o2086, o2087) :|: TRUE f4185_0_change_Return(EOS(STATIC_4185), o2086, o2087) -> f4186_0_applyTreeChanger_Load(EOS(STATIC_4186), o2086, o2087) :|: TRUE f4186_0_applyTreeChanger_Load(EOS(STATIC_4186), o2086, o2087) -> f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), o2086, o2087, o2086) :|: TRUE f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) -> f4188_0_applyTreeChanger_NULL(EOS(STATIC_4188), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) :|: TRUE f4187_0_applyTreeChanger_NULL(EOS(STATIC_4187), NULL, o2087, NULL) -> f4189_0_applyTreeChanger_NULL(EOS(STATIC_4189), NULL, o2087, NULL) :|: TRUE f4188_0_applyTreeChanger_NULL(EOS(STATIC_4188), java.lang.Object(o2099sub), o2087, java.lang.Object(o2099sub)) -> f4190_0_applyTreeChanger_Load(EOS(STATIC_4190), java.lang.Object(o2099sub), o2087) :|: TRUE f4189_0_applyTreeChanger_NULL(EOS(STATIC_4189), NULL, o2087, NULL) -> f4191_0_applyTreeChanger_Load(EOS(STATIC_4191), o2087) :|: TRUE f4190_0_applyTreeChanger_Load(EOS(STATIC_4190), java.lang.Object(o2099sub), o2087) -> f4192_0_applyTreeChanger_Load(EOS(STATIC_4192), o2087, java.lang.Object(o2099sub)) :|: TRUE f4191_0_applyTreeChanger_Load(EOS(STATIC_4191), o2087) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087, o2087) :|: TRUE f4192_0_applyTreeChanger_Load(EOS(STATIC_4192), o2087, java.lang.Object(o2099sub)) -> f4194_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4194), o2087, java.lang.Object(o2099sub)) :|: TRUE f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) -> f4195_0_applyTreeChanger_NULL(EOS(STATIC_4195), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) :|: TRUE f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), NULL, NULL) -> f4196_0_applyTreeChanger_NULL(EOS(STATIC_4196), NULL, NULL) :|: TRUE f4194_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4194), o2087, java.lang.Object(o2099sub)) -> f4197_1_applyTreeChanger_InvokeMethod(f4197_0_applyTreeChanger_Load(EOS(STATIC_4197), java.lang.Object(o2099sub)), o2087) :|: TRUE f4195_0_applyTreeChanger_NULL(EOS(STATIC_4195), java.lang.Object(o2100sub), java.lang.Object(o2100sub)) -> f4198_0_applyTreeChanger_Load(EOS(STATIC_4198), java.lang.Object(o2100sub)) :|: TRUE f4196_0_applyTreeChanger_NULL(EOS(STATIC_4196), NULL, NULL) -> f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)) :|: TRUE f4197_0_applyTreeChanger_Load(EOS(STATIC_4197), java.lang.Object(o2099sub)) -> f4200_0_applyTreeChanger_Load(EOS(STATIC_4200), java.lang.Object(o2099sub)) :|: TRUE f4198_0_applyTreeChanger_Load(EOS(STATIC_4198), java.lang.Object(o2100sub)) -> f4201_0_applyTreeChanger_Load(EOS(STATIC_4201), java.lang.Object(o2100sub)) :|: TRUE f4200_0_applyTreeChanger_Load(EOS(STATIC_4200), java.lang.Object(o2099sub)) -> f4207_0_applyTreeChanger_Load(EOS(STATIC_4207), java.lang.Object(o2099sub)) :|: TRUE f4201_0_applyTreeChanger_Load(EOS(STATIC_4201), java.lang.Object(o2100sub)) -> f4203_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4203), java.lang.Object(o2100sub)) :|: TRUE f4203_0_applyTreeChanger_InvokeMethod(EOS(STATIC_4203), java.lang.Object(o2100sub)) -> f4204_1_applyTreeChanger_InvokeMethod(f4204_0_applyTreeChanger_Load(EOS(STATIC_4204), java.lang.Object(o2100sub))) :|: TRUE f4204_0_applyTreeChanger_Load(EOS(STATIC_4204), java.lang.Object(o2100sub)) -> f4206_0_applyTreeChanger_Load(EOS(STATIC_4206), java.lang.Object(o2100sub)) :|: TRUE f4206_0_applyTreeChanger_Load(EOS(STATIC_4206), java.lang.Object(o2100sub)) -> f4211_0_applyTreeChanger_Load(EOS(STATIC_4211), java.lang.Object(o2100sub)) :|: TRUE f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) -> f4209_0_applyTreeChanger_Load(EOS(STATIC_4209), o2087) :|: TRUE f4209_0_applyTreeChanger_Load(EOS(STATIC_4209), o2087) -> f4210_0_applyTreeChanger_NULL(EOS(STATIC_4210), o2087, o2087) :|: TRUE f4210_0_applyTreeChanger_NULL(EOS(STATIC_4210), o2087, o2087) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087, o2087) :|: TRUE f4212_0_applyTreeChanger_Return(EOS(STATIC_4212)) -> f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)) :|: TRUE f4216_0_applyTreeChanger_Return(EOS(STATIC_4216), o2087) -> f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) :|: TRUE f4217_0_applyTreeChanger_Return(EOS(STATIC_4217)) -> f4212_0_applyTreeChanger_Return(EOS(STATIC_4212)) :|: TRUE f4207_0_applyTreeChanger_Load(EOS(STATIC_4207), java.lang.Object(o2099sub)) -> f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2099sub)) :|: TRUE f4211_0_applyTreeChanger_Load(EOS(STATIC_4211), java.lang.Object(o2100sub)) -> f4139_0_applyTreeChanger_Load(EOS(STATIC_4139), java.lang.Object(o2100sub)) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)), o2087) -> f4208_0_applyTreeChanger_Return(EOS(STATIC_4208), o2087) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)), o2087) -> f4216_0_applyTreeChanger_Return(EOS(STATIC_4216), o2087) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199))) -> f4212_0_applyTreeChanger_Return(EOS(STATIC_4212)) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213))) -> f4217_0_applyTreeChanger_Return(EOS(STATIC_4217)) :|: TRUE Combined rules. Obtained 4 conditional rules for P and 8 conditional rules for R.P rules: f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)), java.lang.Object(o2100sub:0)) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2100sub:0), java.lang.Object(o2100sub:0))) :|: TRUE f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, java.lang.Object(o2100sub:0))), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, java.lang.Object(o2100sub:0)))) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2100sub:0), java.lang.Object(o2100sub:0))) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)), java.lang.Object(o2100sub:0)) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2100sub:0), java.lang.Object(o2100sub:0))) :|: TRUE f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(o2099sub:0), o2087:0)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(o2099sub:0), o2087:0))) -> f4197_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2099sub:0), java.lang.Object(o2099sub:0)), o2087:0) :|: TRUE R rules: f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087:0)), java.lang.Object(BinTreeChanger.Tree(EOC, NULL, o2087:0))) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087:0, o2087:0) :|: TRUE f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), NULL, NULL) -> f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199)), o2087:0) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087:0, o2087:0) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)), o2087:0) -> f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), o2087:0, o2087:0) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return(EOS(STATIC_4213))) -> f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return(EOS(STATIC_4199))) -> f4213_0_applyTreeChanger_Return(EOS(STATIC_4213)) :|: TRUE f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(o2099sub:0), o2087:0)), java.lang.Object(BinTreeChanger.Tree(EOC, java.lang.Object(o2099sub:0), o2087:0))) -> f4197_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2099sub:0), java.lang.Object(o2099sub:0)), o2087:0) :|: TRUE f4193_0_applyTreeChanger_NULL(EOS(STATIC_4193), java.lang.Object(o2100sub:0), java.lang.Object(o2100sub:0)) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(EOS(STATIC_4140), java.lang.Object(o2100sub:0), java.lang.Object(o2100sub:0))) :|: TRUE Filtered ground terms: f4140_0_applyTreeChanger_FieldAccess(x1, x2, x3) -> f4140_0_applyTreeChanger_FieldAccess(x2, x3) f4199_0_applyTreeChanger_Return(x1) -> f4199_0_applyTreeChanger_Return f4213_0_applyTreeChanger_Return(x1) -> f4213_0_applyTreeChanger_Return BinTreeChanger.Tree(x1, x2, x3) -> BinTreeChanger.Tree(x2, x3) f4193_0_applyTreeChanger_NULL(x1, x2, x3) -> f4193_0_applyTreeChanger_NULL(x2, x3) Filtered duplicate args: f4140_0_applyTreeChanger_FieldAccess(x1, x2) -> f4140_0_applyTreeChanger_FieldAccess(x2) f4193_0_applyTreeChanger_NULL(x1, x2) -> f4193_0_applyTreeChanger_NULL(x2) Combined rules. Obtained 5 conditional rules for P and 8 conditional rules for R.P rules: F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2099sub:0:0)) :|: TRUE F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4199_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) :|: TRUE F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2099sub:0:0)), o2087:0:0) :|: TRUE F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4213_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) :|: TRUE F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(NULL, java.lang.Object(o2100sub:0:0)))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) :|: TRUE R rules: f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(NULL, o2087:0:0))) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return, o2087:0:0) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) :|: TRUE f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> f4197_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2099sub:0:0)), o2087:0:0) :|: TRUE f4193_0_applyTreeChanger_NULL(java.lang.Object(o2100sub:0:0)) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2100sub:0:0))) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return) -> f4213_0_applyTreeChanger_Return :|: TRUE f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return, o2087:0:0) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) :|: TRUE f4204_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return) -> f4213_0_applyTreeChanger_Return :|: TRUE f4193_0_applyTreeChanger_NULL(NULL) -> f4199_0_applyTreeChanger_Return :|: TRUE ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2099sub:0:0)) F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4199_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2099sub:0:0)), o2087:0:0) F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4213_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(NULL, java.lang.Object(o2100sub:0:0)))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) The TRS R consists of the following rules: f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(NULL, o2087:0:0))) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return, o2087:0:0) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> f4197_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2099sub:0:0)), o2087:0:0) f4193_0_applyTreeChanger_NULL(java.lang.Object(o2100sub:0:0)) -> f4204_1_applyTreeChanger_InvokeMethod(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2100sub:0:0))) f4204_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return) -> f4213_0_applyTreeChanger_Return f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return, o2087:0:0) -> f4193_0_applyTreeChanger_NULL(o2087:0:0) f4204_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return) -> f4213_0_applyTreeChanger_Return f4193_0_applyTreeChanger_NULL(NULL) -> f4199_0_applyTreeChanger_Return The set Q consists of the following terms: f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(NULL, x0))) f4197_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return, x0) f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(x0), x1))) f4193_0_applyTreeChanger_NULL(java.lang.Object(x0)) f4204_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return) f4197_1_applyTreeChanger_InvokeMethod(f4199_0_applyTreeChanger_Return, x0) f4204_1_applyTreeChanger_InvokeMethod(f4213_0_applyTreeChanger_Return) f4193_0_applyTreeChanger_NULL(NULL) 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: *F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4140_0_applyTreeChanger_FieldAccess(java.lang.Object(o2099sub:0:0)), o2087:0:0) The graph contains the following edges 1 > 2 *F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(java.lang.Object(o2099sub:0:0), o2087:0:0))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2099sub:0:0)) The graph contains the following edges 1 > 1 *F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(BinTreeChanger.Tree(NULL, java.lang.Object(o2100sub:0:0)))) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) The graph contains the following edges 1 > 1 *F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4199_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) The graph contains the following edges 2 >= 1 *F4197_1_APPLYTREECHANGER_INVOKEMETHOD(f4213_0_applyTreeChanger_Return, java.lang.Object(o2100sub:0:0)) -> F4140_0_APPLYTREECHANGER_FIELDACCESS(java.lang.Object(o2100sub:0:0)) The graph contains the following edges 2 >= 1 ---------------------------------------- (24) YES ---------------------------------------- (25) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: BinTreeChanger.Tree.createTree(I)LBinTreeChanger/Tree; SCC calls the following helper methods: BinTreeChanger.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: f3759_0_createTree_Load(EOS(STATIC_3759(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414) -> f3761_0_createTree_GE(EOS(STATIC_3761(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414, i1412) :|: TRUE f3761_0_createTree_GE(EOS(STATIC_3761(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414, i1412) -> f3764_0_createTree_GE(EOS(STATIC_3764(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414, i1412) :|: i1414 < i1412 f3764_0_createTree_GE(EOS(STATIC_3764(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414, i1412) -> f3767_0_createTree_Load(EOS(STATIC_3767(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: i1414 < i1412 f3767_0_createTree_Load(EOS(STATIC_3767(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f3770_0_createTree_InvokeMethod(EOS(STATIC_3770(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC))) :|: TRUE f3770_0_createTree_InvokeMethod(EOS(STATIC_3770(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC))) -> f3773_0_random_FieldAccess(EOS(STATIC_3773(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC))) :|: TRUE f3773_0_random_FieldAccess(EOS(STATIC_3773(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC))) -> f3778_0_random_FieldAccess(EOS(STATIC_3778(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410))) :|: TRUE f3778_0_random_FieldAccess(EOS(STATIC_3778(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410))) -> f3781_0_random_ArrayAccess(EOS(STATIC_3781(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1411) :|: TRUE f3781_0_random_ArrayAccess(EOS(STATIC_3781(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1441) -> f3785_0_random_ArrayAccess(EOS(STATIC_3785(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1441) :|: TRUE f3785_0_random_ArrayAccess(EOS(STATIC_3785(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1441) -> f3789_0_random_ArrayAccess(EOS(STATIC_3789(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1441) :|: TRUE f3789_0_random_ArrayAccess(EOS(STATIC_3789(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(ARRAY(i1410)), i1441) -> f3793_0_random_Store(EOS(STATIC_3793(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) :|: i1441 < i1410 f3793_0_random_Store(EOS(STATIC_3793(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) -> f3798_0_random_FieldAccess(EOS(STATIC_3798(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) :|: TRUE f3798_0_random_FieldAccess(EOS(STATIC_3798(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) -> f3802_0_random_ConstantStackPush(EOS(STATIC_3802(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1441) :|: TRUE f3802_0_random_ConstantStackPush(EOS(STATIC_3802(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1441) -> f3805_0_random_IntArithmetic(EOS(STATIC_3805(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1441, 1) :|: TRUE f3805_0_random_IntArithmetic(EOS(STATIC_3805(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1441, matching1) -> f3810_0_random_FieldAccess(EOS(STATIC_3810(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1441 + 1) :|: i1441 >= 0 && matching1 = 1 f3810_0_random_FieldAccess(EOS(STATIC_3810(java.lang.Object(ARRAY(i1410)), i1441)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446, i1454) -> f3814_0_random_Load(EOS(STATIC_3814(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) :|: TRUE f3814_0_random_Load(EOS(STATIC_3814(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) -> f3818_0_random_InvokeMethod(EOS(STATIC_3818(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), o1446) :|: TRUE f3818_0_random_InvokeMethod(EOS(STATIC_3818(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1459sub)) -> f3823_0_random_InvokeMethod(EOS(STATIC_3823(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1459sub)) :|: TRUE f3823_0_random_InvokeMethod(EOS(STATIC_3823(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) -> f3828_0_random_InvokeMethod(EOS(STATIC_3828(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) :|: TRUE f3828_0_random_InvokeMethod(EOS(STATIC_3828(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) -> f3834_0_length_Load(EOS(STATIC_3834(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) :|: TRUE f3834_0_length_Load(EOS(STATIC_3834(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) -> f3845_0_length_FieldAccess(EOS(STATIC_3845(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(o1460sub)) :|: TRUE f3845_0_length_FieldAccess(EOS(STATIC_3845(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1496))) -> f3850_0_length_FieldAccess(EOS(STATIC_3850(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1496))) :|: i1496 >= 0 f3850_0_length_FieldAccess(EOS(STATIC_3850(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1496))) -> f3854_0_length_Return(EOS(STATIC_3854(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: TRUE f3854_0_length_Return(EOS(STATIC_3854(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f3858_0_random_Return(EOS(STATIC_3858(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: TRUE f3858_0_random_Return(EOS(STATIC_3858(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f3863_0_createTree_InvokeMethod(EOS(STATIC_3863(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: TRUE f3863_0_createTree_InvokeMethod(EOS(STATIC_3863(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f3867_0_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i1410)), i1454)), java.lang.Object(BinTreeChanger.Tree(EOC)), i1496, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: i1412 >= 1 && i1454 >= 1 && i1414 < i1412 && i1454 > i1414 f3863_0_createTree_InvokeMethod(EOS(STATIC_3863(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f3867_1_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i1410)), i1454)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: i1412 >= 1 && i1454 >= 1 && i1414 < i1412 && i1454 > i1414 f3867_0_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i1410)), i1454)), java.lang.Object(BinTreeChanger.Tree(EOC)), i1496, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f4629_0_insert_Load(EOS(STATIC_4629(java.lang.Object(ARRAY(i1410)), i1454)), java.lang.Object(BinTreeChanger.Tree(EOC)), i1496, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) :|: TRUE f4009_0_insert_Return(EOS(STATIC_4009(java.lang.Object(ARRAY(i1924)), i1926)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4013_0_insert_Return(EOS(STATIC_4013(java.lang.Object(ARRAY(i1924)), i1926)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f4013_0_insert_Return(EOS(STATIC_4013(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4019_0_createTree_Inc(EOS(STATIC_4019(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f4019_0_createTree_Inc(EOS(STATIC_4019(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4023_0_createTree_JMP(EOS(STATIC_4023(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414 + 1) :|: TRUE f4023_0_createTree_JMP(EOS(STATIC_4023(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i2020) -> f4027_0_createTree_Load(EOS(STATIC_4027(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i2020) :|: TRUE f4027_0_createTree_Load(EOS(STATIC_4027(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i2020) -> f3757_0_createTree_Load(EOS(STATIC_3757(java.lang.Object(ARRAY(i1981)), i1982)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i2020) :|: TRUE f3757_0_createTree_Load(EOS(STATIC_3757(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f3759_0_createTree_Load(EOS(STATIC_3759(java.lang.Object(ARRAY(i1410)), i1411)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, i1414) :|: TRUE f4012_0_insert_Return(EOS(STATIC_4012(java.lang.Object(ARRAY(i1954)), i1956)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4013_0_insert_Return(EOS(STATIC_4013(java.lang.Object(ARRAY(i1954)), i1956)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f4030_0_insert_Return(EOS(STATIC_4030(java.lang.Object(ARRAY(i2040)), i2042)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4013_0_insert_Return(EOS(STATIC_4013(java.lang.Object(ARRAY(i2040)), i2042)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f4034_0_insert_Return(EOS(STATIC_4034(java.lang.Object(ARRAY(i2084)), i2086)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) -> f4013_0_insert_Return(EOS(STATIC_4013(java.lang.Object(ARRAY(i2084)), i2086)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f3867_1_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i1924)), i1926)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1928) -> f4009_0_insert_Return(EOS(STATIC_4009(java.lang.Object(ARRAY(i1924)), i1926)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f3867_1_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i1954)), i1956)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1958) -> f4012_0_insert_Return(EOS(STATIC_4012(java.lang.Object(ARRAY(i1954)), i1956)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f3867_1_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i2040)), i2042)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f4030_0_insert_Return(EOS(STATIC_4030(java.lang.Object(ARRAY(i2040)), i2042)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE f3867_1_insert_Load(EOS(STATIC_3867(java.lang.Object(ARRAY(i2084)), i2086)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496) -> f4034_0_insert_Return(EOS(STATIC_4034(java.lang.Object(ARRAY(i2084)), i2086)), i1412, i1412, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414) :|: TRUE Combined rules. Obtained 2 IRulesP rules: f3759_0_createTree_Load(EOS(STATIC_3759(java.lang.Object(ARRAY(i1410:0)), i1411:0)), i1412:0, i1412:0, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414:0, i1414:0) -> f3759_0_createTree_Load(EOS(STATIC_3759(java.lang.Object(ARRAY(i1410:0)), i1411:0 + 1)), i1412:0, i1412:0, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414:0 + 1, i1414:0 + 1) :|: i1414:0 < i1412:0 && i1411:0 < i1410:0 && i1411:0 > -1 && i1496:0 > -1 && i1412:0 > 0 && i1414:0 < i1411:0 + 1 Removed following non-SCC rules: f3759_0_createTree_Load(EOS(STATIC_3759(java.lang.Object(ARRAY(i1410:0)), i1411:0)), i1412:0, i1412:0, java.lang.Object(BinTreeChanger.Tree(EOC)), i1414:0, i1414:0) -> f4629_0_insert_Load(EOS(STATIC_4629(java.lang.Object(ARRAY(i1410:0)), i1411:0 + 1)), java.lang.Object(BinTreeChanger.Tree(EOC)), i1496:0, java.lang.Object(BinTreeChanger.Tree(EOC)), i1496:0) :|: i1414:0 < i1412:0 && i1411:0 < i1410:0 && i1411:0 > -1 && i1496:0 > -1 && i1412:0 > 0 && i1414:0 < i1411:0 + 1 Filtered constant ground arguments: f3759_0_createTree_Load(x1, x2, x3, x4, x5, x6) -> f3759_0_createTree_Load(x1, x2, x3, x5, x6) BinTreeChanger.Tree(x1) -> BinTreeChanger.Tree Filtered duplicate arguments: f3759_0_createTree_Load(x1, x2, x3, x4, x5) -> f3759_0_createTree_Load(x1, x3, x5) Finished conversion. Obtained 1 rules.P rules: f3759_0_createTree_Load(i1412:0, i1414:0, i1410:0, i1411:0) -> f3759_0_createTree_Load(i1412:0, i1414:0 + 1, i1410:0, i1411:0 + 1) :|: i1411:0 < i1410:0 && i1414:0 < i1412:0 && i1411:0 > -1 && i1496:0 > -1 && i1414:0 < i1411:0 + 1 && i1412:0 > 0 ---------------------------------------- (27) Obligation: Rules: f3759_0_createTree_Load(i1412:0, i1414:0, i1410:0, i1411:0) -> f3759_0_createTree_Load(i1412:0, i1414:0 + 1, i1410:0, i1411:0 + 1) :|: i1411:0 < i1410:0 && i1414:0 < i1412:0 && i1411:0 > -1 && i1496:0 > -1 && i1414:0 < i1411:0 + 1 && i1412:0 > 0 ---------------------------------------- (28) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (29) Obligation: Rules: f3759_0_createTree_Load(i1412:0, i1414:0, i1410:0, i1411:0) -> f3759_0_createTree_Load(i1412:0, arith, i1410:0, arith1) :|: i1411:0 < i1410:0 && i1414:0 < i1412:0 && i1411:0 > -1 && i1496:0 > -1 && i1414:0 < i1411:0 + 1 && i1412:0 > 0 && arith = i1414:0 + 1 && arith1 = i1411:0 + 1 ---------------------------------------- (30) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3759_0_createTree_Load(i1412:0, i1414:0, i1410:0, i1411:0) -> f3759_0_createTree_Load(i1412:0, arith, i1410:0, arith1) :|: i1411:0 < i1410:0 && i1414:0 < i1412:0 && i1411:0 > -1 && i1496:0 > -1 && i1414:0 < i1411:0 + 1 && i1412:0 > 0 && arith = i1414:0 + 1 && arith1 = i1411:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (31) Obligation: Termination digraph: Nodes: (1) f3759_0_createTree_Load(i1412:0, i1414:0, i1410:0, i1411:0) -> f3759_0_createTree_Load(i1412:0, arith, i1410:0, arith1) :|: i1411:0 < i1410:0 && i1414:0 < i1412:0 && i1411:0 > -1 && i1496:0 > -1 && i1414:0 < i1411:0 + 1 && i1412:0 > 0 && arith = i1414:0 + 1 && arith1 = i1411:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (32) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (33) Obligation: Rules: f3759_0_createTree_Load(i1412:0:0, i1414:0:0, i1410:0:0, i1411:0:0) -> f3759_0_createTree_Load(i1412:0:0, i1414:0:0 + 1, i1410:0:0, i1411:0:0 + 1) :|: i1414:0:0 < i1411:0:0 + 1 && i1412:0:0 > 0 && i1496:0:0 > -1 && i1411:0:0 > -1 && i1414:0:0 < i1412:0:0 && i1411:0:0 < i1410:0:0 ---------------------------------------- (34) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3759_0_createTree_Load(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (35) Obligation: Rules: f3759_0_createTree_Load(i1412:0:0, i1414:0:0, i1410:0:0, i1411:0:0) -> f3759_0_createTree_Load(i1412:0:0, c, i1410:0:0, c1) :|: c1 = i1411:0:0 + 1 && c = i1414:0:0 + 1 && (i1414:0:0 < i1411:0:0 + 1 && i1412:0:0 > 0 && i1496:0:0 > -1 && i1411:0:0 > -1 && i1414:0:0 < i1412:0:0 && i1411:0:0 < i1410:0:0) ---------------------------------------- (36) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f3759_0_createTree_Load(x, x1, x2, x3)] = x2 - x3 The following rules are decreasing: f3759_0_createTree_Load(i1412:0:0, i1414:0:0, i1410:0:0, i1411:0:0) -> f3759_0_createTree_Load(i1412:0:0, c, i1410:0:0, c1) :|: c1 = i1411:0:0 + 1 && c = i1414:0:0 + 1 && (i1414:0:0 < i1411:0:0 + 1 && i1412:0:0 > 0 && i1496:0:0 > -1 && i1411:0:0 > -1 && i1414:0:0 < i1412:0:0 && i1411:0:0 < i1410:0:0) The following rules are bounded: f3759_0_createTree_Load(i1412:0:0, i1414:0:0, i1410:0:0, i1411:0:0) -> f3759_0_createTree_Load(i1412:0:0, c, i1410:0:0, c1) :|: c1 = i1411:0:0 + 1 && c = i1414:0:0 + 1 && (i1414:0:0 < i1411:0:0 + 1 && i1412:0:0 > 0 && i1496:0:0 > -1 && i1411:0:0 > -1 && i1414:0:0 < i1412:0:0 && i1411:0:0 < i1410:0:0) ---------------------------------------- (37) YES