/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 2016 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 3 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 1349 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 42 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 23 ms] (17) IRSwT (18) IRSwTToQDPProof [SOUND, 0 ms] (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) JBCTerminationSCC (23) SCCToIRSProof [SOUND, 249 ms] (24) IRSwT (25) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (26) IRSwT (27) IRSwTTerminationDigraphProof [EQUIVALENT, 221 ms] (28) IRSwT (29) IntTRSCompressionProof [EQUIVALENT, 0 ms] (30) IRSwT (31) TempFilterProof [SOUND, 137 ms] (32) IntTRS (33) PolynomialOrderProcessor [EQUIVALENT, 36 ms] (34) IntTRS (35) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (36) IntTRS (37) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (38) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package MirrorMultiTreeRec; public class MirrorMultiTreeRec { public static void main(final String[] args) { Random.args = args; final Tree t = Tree.createTree(Random.random()); mirror(t.children); } public static TreeList mirror(final TreeList l) { if (l == null || l.next==null) return l; final TreeList nextItem = l.next; final TreeList reverseRest = mirror(nextItem); l.next = null; mirror(l.value.children); nextItem.next = l; return reverseRest; } } package MirrorMultiTreeRec; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package MirrorMultiTreeRec; public class Tree { TreeList children; public Tree() { this.children = null; } public void addChild(final Tree t) { this.children = new TreeList(t, this.children); } public static Tree createNode() { final Tree result = new Tree(); return result; } public static Tree createTree(int depth) { if (depth <= 0) { return null; } depth = depth - 1; final Tree result = new Tree(); final int numberOfChildren = Random.random(); for (int i = 0; i < numberOfChildren; i++) { result.addChild(createTree(depth - 1)); } return result; } } package MirrorMultiTreeRec; public class TreeList { Tree value; TreeList next; public TreeList(final Tree value, final TreeList next) { this.value = value; this.next = next; } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package MirrorMultiTreeRec; public class MirrorMultiTreeRec { public static void main(final String[] args) { Random.args = args; final Tree t = Tree.createTree(Random.random()); mirror(t.children); } public static TreeList mirror(final TreeList l) { if (l == null || l.next==null) return l; final TreeList nextItem = l.next; final TreeList reverseRest = mirror(nextItem); l.next = null; mirror(l.value.children); nextItem.next = l; return reverseRest; } } package MirrorMultiTreeRec; public class Random { static String[] args; static int index = 0; public static int random() { final String string = args[index]; index++; return string.length(); } } package MirrorMultiTreeRec; public class Tree { TreeList children; public Tree() { this.children = null; } public void addChild(final Tree t) { this.children = new TreeList(t, this.children); } public static Tree createNode() { final Tree result = new Tree(); return result; } public static Tree createTree(int depth) { if (depth <= 0) { return null; } depth = depth - 1; final Tree result = new Tree(); final int numberOfChildren = Random.random(); for (int i = 0; i < numberOfChildren; i++) { result.addChild(createTree(depth - 1)); } return result; } } package MirrorMultiTreeRec; public class TreeList { Tree value; TreeList next; public TreeList(final Tree value, final TreeList next) { this.value = value; this.next = next; } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: MirrorMultiTreeRec.MirrorMultiTreeRec.main([Ljava/lang/String;)V: Graph of 180 nodes with 0 SCCs. MirrorMultiTreeRec.Tree.createTree(I)LMirrorMultiTreeRec/Tree;: Graph of 163 nodes with 1 SCC. MirrorMultiTreeRec.MirrorMultiTreeRec.mirror(LMirrorMultiTreeRec/TreeList;)LMirrorMultiTreeRec/TreeList;: Graph of 206 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 2 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: MirrorMultiTreeRec.MirrorMultiTreeRec.mirror(LMirrorMultiTreeRec/TreeList;)LMirrorMultiTreeRec/TreeList; SCC calls the following helper methods: MirrorMultiTreeRec.MirrorMultiTreeRec.mirror(LMirrorMultiTreeRec/TreeList;)LMirrorMultiTreeRec/TreeList; Performed SCC analyses: *Used field analysis yielded the following read fields: *MirrorMultiTreeRec.TreeList: [next, value] *MirrorMultiTreeRec.Tree: [children] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 53 IRulesP rules: f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(o1054sub), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) -> f4081_0_mirror_NULL(EOS(STATIC_4081), java.lang.Object(o1054sub), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) :|: TRUE f4081_0_mirror_NULL(EOS(STATIC_4081), java.lang.Object(o1054sub), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) -> f4087_0_mirror_Load(EOS(STATIC_4087), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) :|: TRUE f4087_0_mirror_Load(EOS(STATIC_4087), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) -> f4092_0_mirror_FieldAccess(EOS(STATIC_4092), java.lang.Object(o1054sub), java.lang.Object(o1054sub), java.lang.Object(o1054sub)) :|: TRUE f4092_0_mirror_FieldAccess(EOS(STATIC_4092), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074))) -> f4096_0_mirror_FieldAccess(EOS(STATIC_4096), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074))) :|: TRUE f4096_0_mirror_FieldAccess(EOS(STATIC_4096), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074))) -> f4100_0_mirror_NONNULL(EOS(STATIC_4100), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o1075, o1074)), o1075) :|: TRUE f4100_0_mirror_NONNULL(EOS(STATIC_4100), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) -> f4103_0_mirror_NONNULL(EOS(STATIC_4103), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) :|: TRUE f4103_0_mirror_NONNULL(EOS(STATIC_4103), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) -> f4108_0_mirror_Load(EOS(STATIC_4108), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074))) :|: TRUE f4108_0_mirror_Load(EOS(STATIC_4108), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074))) -> f4111_0_mirror_FieldAccess(EOS(STATIC_4111), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074))) :|: TRUE f4111_0_mirror_FieldAccess(EOS(STATIC_4111), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074))) -> f4116_0_mirror_Store(EOS(STATIC_4116), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) :|: TRUE f4116_0_mirror_Store(EOS(STATIC_4116), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) -> f4121_0_mirror_Load(EOS(STATIC_4121), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) :|: TRUE f4121_0_mirror_Load(EOS(STATIC_4121), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub)) -> f4124_0_mirror_InvokeMethod(EOS(STATIC_4124), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) :|: TRUE f4124_0_mirror_InvokeMethod(EOS(STATIC_4124), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4129_0_mirror_Load(EOS(STATIC_4129), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) :|: i1121 > 1 f4124_0_mirror_InvokeMethod(EOS(STATIC_4124), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) :|: i1121 > 1 f4129_0_mirror_Load(EOS(STATIC_4129), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4133_0_mirror_Load(EOS(STATIC_4133), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) :|: TRUE f4133_0_mirror_Load(EOS(STATIC_4133), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4073_0_mirror_Load(EOS(STATIC_4073), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) :|: TRUE f4073_0_mirror_Load(EOS(STATIC_4073), o1027, o1027) -> f4075_0_mirror_NULL(EOS(STATIC_4075), o1027, o1027, o1027) :|: TRUE f4145_0_mirror_Return(EOS(STATIC_4145), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) -> f4148_0_mirror_Store(EOS(STATIC_4148), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) :|: TRUE f4148_0_mirror_Store(EOS(STATIC_4148), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) -> f4151_0_mirror_Load(EOS(STATIC_4151), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) :|: TRUE f4151_0_mirror_Load(EOS(STATIC_4151), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) -> f4154_0_mirror_ConstantStackPush(EOS(STATIC_4154), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074))) :|: TRUE f4154_0_mirror_ConstantStackPush(EOS(STATIC_4154), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074))) -> f4157_0_mirror_FieldAccess(EOS(STATIC_4157), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), NULL) :|: TRUE f4157_0_mirror_FieldAccess(EOS(STATIC_4157), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), NULL) -> f4158_0_mirror_Load(EOS(STATIC_4158), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) :|: TRUE f4158_0_mirror_Load(EOS(STATIC_4158), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) -> f4159_0_mirror_FieldAccess(EOS(STATIC_4159), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074))) :|: TRUE f4159_0_mirror_FieldAccess(EOS(STATIC_4159), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074))) -> f4160_0_mirror_FieldAccess(EOS(STATIC_4160), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074) :|: TRUE f4160_0_mirror_FieldAccess(EOS(STATIC_4160), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o1160sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o1160sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(o1160sub)) -> f4161_0_mirror_FieldAccess(EOS(STATIC_4161), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o1160sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o1160sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(o1160sub)) :|: TRUE f4161_0_mirror_FieldAccess(EOS(STATIC_4161), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162))) -> f4163_0_mirror_FieldAccess(EOS(STATIC_4163), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162))) :|: TRUE f4163_0_mirror_FieldAccess(EOS(STATIC_4163), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162))) -> f4165_0_mirror_InvokeMethod(EOS(STATIC_4165), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1162) :|: TRUE f4165_0_mirror_InvokeMethod(EOS(STATIC_4165), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1162) -> f4166_0_mirror_Load(EOS(STATIC_4166), o1162, o1162) :|: i1207 > 1 f4165_0_mirror_InvokeMethod(EOS(STATIC_4165), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1162) -> f4166_1_mirror_Load(EOS(STATIC_4166), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1162) :|: i1207 > 1 f4166_0_mirror_Load(EOS(STATIC_4166), o1162, o1162) -> f4168_0_mirror_Load(EOS(STATIC_4168), o1162, o1162) :|: TRUE f4168_0_mirror_Load(EOS(STATIC_4168), o1162, o1162) -> f4073_0_mirror_Load(EOS(STATIC_4073), o1162, o1162) :|: TRUE f4190_0_mirror_Return(EOS(STATIC_4190), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1210))) -> f4368_0_mirror_Return(EOS(STATIC_4368), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1210))) :|: TRUE f4368_0_mirror_Return(EOS(STATIC_4368), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) -> f4375_0_mirror_Store(EOS(STATIC_4375), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) :|: TRUE f4375_0_mirror_Store(EOS(STATIC_4375), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) -> f4378_0_mirror_Load(EOS(STATIC_4378), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) :|: TRUE f4378_0_mirror_Load(EOS(STATIC_4378), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) -> f4380_0_mirror_ConstantStackPush(EOS(STATIC_4380), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803))) :|: TRUE f4380_0_mirror_ConstantStackPush(EOS(STATIC_4380), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803))) -> f4382_0_mirror_FieldAccess(EOS(STATIC_4382), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), NULL) :|: TRUE f4382_0_mirror_FieldAccess(EOS(STATIC_4382), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o3802sub), o3803)), NULL) -> f4384_0_mirror_Load(EOS(STATIC_4384), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) :|: TRUE f4384_0_mirror_Load(EOS(STATIC_4384), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800))) -> f4386_0_mirror_FieldAccess(EOS(STATIC_4386), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803))) :|: TRUE f4386_0_mirror_FieldAccess(EOS(STATIC_4386), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803))) -> f4388_0_mirror_FieldAccess(EOS(STATIC_4388), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o3803)), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), o3803) :|: TRUE f4388_0_mirror_FieldAccess(EOS(STATIC_4388), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o3999sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o3999sub))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(o3999sub)) -> f4390_0_mirror_FieldAccess(EOS(STATIC_4390), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o3999sub))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(o3999sub))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(o3999sub)) :|: TRUE f4390_0_mirror_FieldAccess(EOS(STATIC_4390), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030))) -> f4392_0_mirror_FieldAccess(EOS(STATIC_4392), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030))) :|: TRUE f4392_0_mirror_FieldAccess(EOS(STATIC_4392), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030))) -> f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), o4030) :|: TRUE f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), o4030) -> f4398_0_mirror_Load(EOS(STATIC_4398), o4030, o4030) :|: i1730 > 1 f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), o4030) -> f4398_1_mirror_Load(EOS(STATIC_4398), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030)))), java.lang.Object(o3802sub), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799)))), o3800)), o4030) :|: i1730 > 1 f4398_0_mirror_Load(EOS(STATIC_4398), o4030, o4030) -> f4400_0_mirror_Load(EOS(STATIC_4400), o4030, o4030) :|: TRUE f4400_0_mirror_Load(EOS(STATIC_4400), o4030, o4030) -> f4073_0_mirror_Load(EOS(STATIC_4073), o4030, o4030) :|: TRUE f4395_0_mirror_Return(EOS(STATIC_4395), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField5)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField6)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField7)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField8)))))), o4012))) -> f4368_0_mirror_Return(EOS(STATIC_4368), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField9)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField10)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField11)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField12)))))), o4012))) :|: TRUE f4486_0_mirror_Return(EOS(STATIC_4486), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o5770, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5772)))), o5768))) -> f4368_0_mirror_Return(EOS(STATIC_4368), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o5770, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5772)))), o5768))) :|: TRUE f4491_0_mirror_Return(EOS(STATIC_4491), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5826)))), o5823))) -> f4368_0_mirror_Return(EOS(STATIC_4368), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5826)))), o5823))) :|: TRUE f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) -> f4145_0_mirror_Return(EOS(STATIC_4145), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129))) :|: TRUE f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4190_0_mirror_Return(EOS(STATIC_4190), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211)))), o1210))) :|: TRUE f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4395_0_mirror_Return(EOS(STATIC_4395), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField1)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField2)))))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField3)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField4)))))), o4012))) :|: TRUE f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4486_0_mirror_Return(EOS(STATIC_4486), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o5770, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5772)))), o5768))) :|: TRUE f4129_1_mirror_Load(EOS(STATIC_4129), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub), o1074)), java.lang.Object(o1083sub), java.lang.Object(o1083sub)) -> f4491_0_mirror_Return(EOS(STATIC_4491), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), o1074)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824)))), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5826)))), o5823))) :|: TRUE Combined rules. Obtained 9 IRulesP rules: f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799:0)))), o3800:0)), o4030:0) -> f4075_0_mirror_NULL(EOS(STATIC_4075), o4030:0, o4030:0, o4030:0) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0))))) -> f4075_0_mirror_NULL(EOS(STATIC_4075), o1162:0, o1162:0, o1162:0) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), o1074:0)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), o1074:0)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(o1083sub:0), java.lang.Object(o1083sub:0), java.lang.Object(o1083sub:0)) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0))))) -> f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1211:0)))), o1210:0)), o4030:0) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0))))) -> f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField9:0)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, abstractField12:0)))))), o4012:0)), o4030:0) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0))))) -> f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5824:0)))), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5826:0)))), o5823:0)), o4030:0) :|: TRUE f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0))))) -> f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5769:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o5770:0, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o5772:0)))), o5768:0)), o4030:0) :|: TRUE Removed following non-SCC rules: f4075_0_mirror_NULL(EOS(STATIC_4075), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0))))) -> f4166_1_mirror_Load(EOS(STATIC_4166), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o1162:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, o1129:0)), o1162:0) :|: TRUE f4397_0_mirror_InvokeMethod(EOS(STATIC_4397), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799:0)))), o3800:0)), o4030:0) -> f4398_1_mirror_Load(EOS(STATIC_4398), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, NULL, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, java.lang.Object(MirrorMultiTreeRec.TreeList(EOC, o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(EOC, o3799:0)))), o3800:0)), o4030:0) :|: TRUE Filtered constant ground arguments: f4397_0_mirror_InvokeMethod(x1, x2, x3, x4, x5, x6) -> f4397_0_mirror_InvokeMethod(x2, x3, x4, x5, x6) f4075_0_mirror_NULL(x1, x2, x3, x4) -> f4075_0_mirror_NULL(x2, x3, x4) MirrorMultiTreeRec.TreeList(x1, x2, x3) -> MirrorMultiTreeRec.TreeList(x2, x3) MirrorMultiTreeRec.Tree(x1, x2) -> MirrorMultiTreeRec.Tree(x2) Filtered duplicate arguments: f4397_0_mirror_InvokeMethod(x1, x2, x3, x4, x5) -> f4397_0_mirror_InvokeMethod(x2, x3, x4, x5) f4075_0_mirror_NULL(x1, x2, x3) -> f4075_0_mirror_NULL(x3) Finished conversion. Obtained 7 rules.P rules: f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(o3799:0)))), o3800:0)), o4030:0, o4030:0, o3800:0) -> f4075_0_mirror_NULL(o4030:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0))))) -> f4075_0_mirror_NULL(o1162:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0)) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o1211:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o1211:0)))), o1210:0)), o4030:0, o4030:0, o1210:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, abstractField9:0)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, abstractField12:0)))))), o4012:0)), o4030:0, o4030:0, o4012:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o5824:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o5824:0)))), java.lang.Object(MirrorMultiTreeRec.Tree(o5826:0)))), o5823:0)), o4030:0, o4030:0, o5823:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o5769:0)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o5770:0, java.lang.Object(MirrorMultiTreeRec.Tree(o5772:0)))), o5768:0)), o4030:0, o4030:0, o5768:0) :|: TRUE ---------------------------------------- (9) Obligation: Rules: f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(o3799:0)))), o3800:0)), o4030:0, o4030:0, o3800:0) -> f4075_0_mirror_NULL(o4030:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0))))) -> f4075_0_mirror_NULL(o1162:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0)) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x), java.lang.Object(MirrorMultiTreeRec.Tree(x1))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x1)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), x3)), x1, x1, x3) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x4), java.lang.Object(MirrorMultiTreeRec.Tree(x5))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x5)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x6)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x7)))))), x8)), x5, x5, x8) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x9), java.lang.Object(MirrorMultiTreeRec.Tree(x10))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x10)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.Tree(x12)))), x13)), x10, x10, x13) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14), java.lang.Object(MirrorMultiTreeRec.Tree(x15))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x15)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x16)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(x17, java.lang.Object(MirrorMultiTreeRec.Tree(x18)))), x19)), x15, x15, x19) :|: TRUE ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(o3799:0)))), o3800:0)), o4030:0, o4030:0, o3800:0) -> f4075_0_mirror_NULL(o4030:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0))))) -> f4075_0_mirror_NULL(o1162:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0)) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x), java.lang.Object(MirrorMultiTreeRec.Tree(x1))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x1)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), x3)), x1, x1, x3) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x4), java.lang.Object(MirrorMultiTreeRec.Tree(x5))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x5)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x6)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x7)))))), x8)), x5, x5, x8) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x9), java.lang.Object(MirrorMultiTreeRec.Tree(x10))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x10)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.Tree(x12)))), x13)), x10, x10, x13) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14), java.lang.Object(MirrorMultiTreeRec.Tree(x15))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x15)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x16)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(x17, java.lang.Object(MirrorMultiTreeRec.Tree(x18)))), x19)), x15, x15, x19) :|: TRUE ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(o3799:0)))), o3800:0)), o4030:0, o4030:0, o3800:0) -> f4075_0_mirror_NULL(o4030:0) :|: TRUE (2) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0))))) -> f4075_0_mirror_NULL(o1162:0) :|: TRUE (3) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0)) :|: TRUE (4) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x), java.lang.Object(MirrorMultiTreeRec.Tree(x1))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x1)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), x3)), x1, x1, x3) :|: TRUE (5) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x4), java.lang.Object(MirrorMultiTreeRec.Tree(x5))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x5)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x6)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x7)))))), x8)), x5, x5, x8) :|: TRUE (6) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x9), java.lang.Object(MirrorMultiTreeRec.Tree(x10))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x10)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.Tree(x12)))), x13)), x10, x10, x13) :|: TRUE (7) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14), java.lang.Object(MirrorMultiTreeRec.Tree(x15))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x15)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x16)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(x17, java.lang.Object(MirrorMultiTreeRec.Tree(x18)))), x19)), x15, x15, x19) :|: TRUE Arcs: (1) -> (2), (3), (4), (5), (6), (7) (2) -> (2), (3), (4), (5), (6), (7) (3) -> (2), (3), (4), (5), (6), (7) (4) -> (1) (5) -> (1) (6) -> (1) (7) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(o4030:0)))), java.lang.Object(o3802sub:0), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(o3797:0, java.lang.Object(MirrorMultiTreeRec.Tree(o3799:0)))), o3800:0)), o4030:0, o4030:0, o3800:0) -> f4075_0_mirror_NULL(o4030:0) :|: TRUE (2) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14), java.lang.Object(MirrorMultiTreeRec.Tree(x15))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x15)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x16)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(x17, java.lang.Object(MirrorMultiTreeRec.Tree(x18)))), x19)), x15, x15, x19) :|: TRUE (3) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x9), java.lang.Object(MirrorMultiTreeRec.Tree(x10))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x10)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x11)))), java.lang.Object(MirrorMultiTreeRec.Tree(x12)))), x13)), x10, x10, x13) :|: TRUE (4) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x4), java.lang.Object(MirrorMultiTreeRec.Tree(x5))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x5)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x6)))))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, x7)))))), x8)), x5, x5, x8) :|: TRUE (5) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x), java.lang.Object(MirrorMultiTreeRec.Tree(x1))))) -> f4397_0_mirror_InvokeMethod(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x1)))), java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, java.lang.Object(MirrorMultiTreeRec.Tree(x2)))), x3)), x1, x1, x3) :|: TRUE (6) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0))))) -> f4075_0_mirror_NULL(o1162:0) :|: TRUE (7) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0), o1074:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0)) :|: TRUE Arcs: (1) -> (2), (3), (4), (5), (6), (7) (2) -> (1) (3) -> (1) (4) -> (1) (5) -> (1) (6) -> (2), (3), (4), (5), (6), (7) (7) -> (2), (3), (4), (5), (6), (7) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14:0), java.lang.Object(MirrorMultiTreeRec.Tree(x15:0))))) -> f4075_0_mirror_NULL(x15:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0:0))))) -> f4075_0_mirror_NULL(o1162:0:0) :|: TRUE f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0:0), o1074:0:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0:0)) :|: TRUE ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4075_0_mirror_NULL(VARIABLE) java.lang.Object(VARIABLE) MirrorMultiTreeRec.TreeList(VARIABLE, VARIABLE) MirrorMultiTreeRec.Tree(VARIABLE) NULL() Removed predefined arithmetic. ---------------------------------------- (17) Obligation: Rules: f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14:0), java.lang.Object(MirrorMultiTreeRec.Tree(x15:0))))) -> f4075_0_mirror_NULL(x15:0) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0:0))))) -> f4075_0_mirror_NULL(o1162:0:0) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0:0), o1074:0:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0:0)) ---------------------------------------- (18) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14:0), java.lang.Object(MirrorMultiTreeRec.Tree(x15:0))))) -> f4075_0_mirror_NULL(x15:0) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0:0))))) -> f4075_0_mirror_NULL(o1162:0:0) f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0:0), o1074:0:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0:0)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (20) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(x14:0), java.lang.Object(MirrorMultiTreeRec.Tree(x15:0))))) -> f4075_0_mirror_NULL(x15:0) The graph contains the following edges 1 > 1 *f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(MirrorMultiTreeRec.TreeList(NULL, o1129:0:0)), java.lang.Object(MirrorMultiTreeRec.Tree(o1162:0:0))))) -> f4075_0_mirror_NULL(o1162:0:0) The graph contains the following edges 1 > 1 *f4075_0_mirror_NULL(java.lang.Object(MirrorMultiTreeRec.TreeList(java.lang.Object(o1083sub:0:0), o1074:0:0))) -> f4075_0_mirror_NULL(java.lang.Object(o1083sub:0:0)) The graph contains the following edges 1 > 1 ---------------------------------------- (21) YES ---------------------------------------- (22) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: MirrorMultiTreeRec.Tree.createTree(I)LMirrorMultiTreeRec/Tree; SCC calls the following helper methods: MirrorMultiTreeRec.Tree.createTree(I)LMirrorMultiTreeRec/Tree; Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *MirrorMultiTreeRec.Tree: [children] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (23) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 104 IRulesP rules: f541_0_createTree_GT(EOS(STATIC_541(java.lang.Object(o54sub), i86)), i90, i90, i90) -> f548_0_createTree_GT(EOS(STATIC_548(java.lang.Object(o54sub), i86)), i90, i90, i90) :|: TRUE f548_0_createTree_GT(EOS(STATIC_548(java.lang.Object(o54sub), i86)), i90, i90, i90) -> f554_0_createTree_Load(EOS(STATIC_554(java.lang.Object(o54sub), i86)), i90, i90) :|: i90 > 0 f554_0_createTree_Load(EOS(STATIC_554(java.lang.Object(o54sub), i86)), i90, i90) -> f560_0_createTree_ConstantStackPush(EOS(STATIC_560(java.lang.Object(o54sub), i86)), i90, i90) :|: TRUE f560_0_createTree_ConstantStackPush(EOS(STATIC_560(java.lang.Object(o54sub), i86)), i90, i90) -> f567_0_createTree_IntArithmetic(EOS(STATIC_567(java.lang.Object(o54sub), i86)), i90, i90, 1) :|: TRUE f567_0_createTree_IntArithmetic(EOS(STATIC_567(java.lang.Object(o54sub), i86)), i90, i90, matching1) -> f581_0_createTree_Store(EOS(STATIC_581(java.lang.Object(o54sub), i86)), i90, i90 - 1) :|: i90 > 0 && matching1 = 1 f581_0_createTree_Store(EOS(STATIC_581(java.lang.Object(o54sub), i86)), i90, i103) -> f603_0_createTree_New(EOS(STATIC_603(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f603_0_createTree_New(EOS(STATIC_603(java.lang.Object(o54sub), i86)), i90, i103) -> f608_0_createTree_Duplicate(EOS(STATIC_608(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f608_0_createTree_Duplicate(EOS(STATIC_608(java.lang.Object(o54sub), i86)), i90, i103) -> f615_0_createTree_InvokeMethod(EOS(STATIC_615(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f615_0_createTree_InvokeMethod(EOS(STATIC_615(java.lang.Object(o54sub), i86)), i90, i103) -> f618_0__init__Load(EOS(STATIC_618(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f618_0__init__Load(EOS(STATIC_618(java.lang.Object(o54sub), i86)), i90, i103) -> f624_0__init__InvokeMethod(EOS(STATIC_624(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f624_0__init__InvokeMethod(EOS(STATIC_624(java.lang.Object(o54sub), i86)), i90, i103) -> f628_0__init__Load(EOS(STATIC_628(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f628_0__init__Load(EOS(STATIC_628(java.lang.Object(o54sub), i86)), i90, i103) -> f629_0__init__ConstantStackPush(EOS(STATIC_629(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f629_0__init__ConstantStackPush(EOS(STATIC_629(java.lang.Object(o54sub), i86)), i90, i103) -> f632_0__init__FieldAccess(EOS(STATIC_632(java.lang.Object(o54sub), i86)), i90, i103, NULL) :|: TRUE f632_0__init__FieldAccess(EOS(STATIC_632(java.lang.Object(o54sub), i86)), i90, i103, NULL) -> f634_0__init__Return(EOS(STATIC_634(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f634_0__init__Return(EOS(STATIC_634(java.lang.Object(o54sub), i86)), i90, i103) -> f635_0_createTree_Store(EOS(STATIC_635(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f635_0_createTree_Store(EOS(STATIC_635(java.lang.Object(o54sub), i86)), i90, i103) -> f636_0_createTree_InvokeMethod(EOS(STATIC_636(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f636_0_createTree_InvokeMethod(EOS(STATIC_636(java.lang.Object(o54sub), i86)), i90, i103) -> f637_0_random_FieldAccess(EOS(STATIC_637(java.lang.Object(o54sub), i86)), i90, i103) :|: TRUE f637_0_random_FieldAccess(EOS(STATIC_637(java.lang.Object(o54sub), i86)), i90, i103) -> f638_0_random_FieldAccess(EOS(STATIC_638(java.lang.Object(o54sub), i86)), i90, i103, java.lang.Object(o54sub)) :|: TRUE f638_0_random_FieldAccess(EOS(STATIC_638(java.lang.Object(o54sub), i86)), i90, i103, java.lang.Object(o54sub)) -> f639_0_random_ArrayAccess(EOS(STATIC_639(java.lang.Object(o54sub), i86)), i90, i103, java.lang.Object(o54sub), i86) :|: TRUE f639_0_random_ArrayAccess(EOS(STATIC_639(java.lang.Object(ARRAY(i112)), i86)), i90, i103, java.lang.Object(ARRAY(i112)), i86) -> f640_0_random_ArrayAccess(EOS(STATIC_640(java.lang.Object(ARRAY(i112)), i86)), i90, i103, java.lang.Object(ARRAY(i112)), i86) :|: i112 >= 0 f640_0_random_ArrayAccess(EOS(STATIC_640(java.lang.Object(ARRAY(i112)), i86)), i90, i103, java.lang.Object(ARRAY(i112)), i86) -> f641_0_random_ArrayAccess(EOS(STATIC_641(java.lang.Object(ARRAY(i112)), i86)), i90, i103, java.lang.Object(ARRAY(i112)), i86) :|: TRUE f641_0_random_ArrayAccess(EOS(STATIC_641(java.lang.Object(ARRAY(i112)), i86)), i90, i103, java.lang.Object(ARRAY(i112)), i86) -> f645_0_random_Store(EOS(STATIC_645(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69) :|: i86 < i112 f645_0_random_Store(EOS(STATIC_645(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69) -> f650_0_random_FieldAccess(EOS(STATIC_650(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69) :|: TRUE f650_0_random_FieldAccess(EOS(STATIC_650(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69) -> f652_0_random_ConstantStackPush(EOS(STATIC_652(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i86) :|: TRUE f652_0_random_ConstantStackPush(EOS(STATIC_652(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i86) -> f655_0_random_IntArithmetic(EOS(STATIC_655(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i86, 1) :|: TRUE f655_0_random_IntArithmetic(EOS(STATIC_655(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i86, matching1) -> f657_0_random_FieldAccess(EOS(STATIC_657(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i86 + 1) :|: i86 > 0 && matching1 = 1 f657_0_random_FieldAccess(EOS(STATIC_657(java.lang.Object(ARRAY(i112)), i86)), i90, i103, o69, i114) -> f658_0_random_Load(EOS(STATIC_658(java.lang.Object(ARRAY(i112)), i114)), i90, i103, o69) :|: TRUE f658_0_random_Load(EOS(STATIC_658(java.lang.Object(ARRAY(i112)), i114)), i90, i103, o69) -> f660_0_random_InvokeMethod(EOS(STATIC_660(java.lang.Object(ARRAY(i112)), i114)), i90, i103, o69) :|: TRUE f660_0_random_InvokeMethod(EOS(STATIC_660(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o72sub)) -> f662_0_random_InvokeMethod(EOS(STATIC_662(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o72sub)) :|: TRUE f662_0_random_InvokeMethod(EOS(STATIC_662(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) -> f665_0_random_InvokeMethod(EOS(STATIC_665(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) :|: TRUE f665_0_random_InvokeMethod(EOS(STATIC_665(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) -> f668_0_length_Load(EOS(STATIC_668(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) :|: TRUE f668_0_length_Load(EOS(STATIC_668(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) -> f671_0_length_FieldAccess(EOS(STATIC_671(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(o73sub)) :|: TRUE f671_0_length_FieldAccess(EOS(STATIC_671(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(java.lang.String(EOC, i118))) -> f679_0_length_FieldAccess(EOS(STATIC_679(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(java.lang.String(EOC, i118))) :|: i118 >= 0 f679_0_length_FieldAccess(EOS(STATIC_679(java.lang.Object(ARRAY(i112)), i114)), i90, i103, java.lang.Object(java.lang.String(EOC, i118))) -> f684_0_length_Return(EOS(STATIC_684(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) :|: TRUE f684_0_length_Return(EOS(STATIC_684(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) -> f686_0_random_Return(EOS(STATIC_686(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) :|: TRUE f686_0_random_Return(EOS(STATIC_686(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) -> f692_0_createTree_Store(EOS(STATIC_692(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) :|: TRUE f692_0_createTree_Store(EOS(STATIC_692(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) -> f697_0_createTree_ConstantStackPush(EOS(STATIC_697(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) :|: TRUE f697_0_createTree_ConstantStackPush(EOS(STATIC_697(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118) -> f705_0_createTree_Store(EOS(STATIC_705(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118, 0) :|: TRUE f705_0_createTree_Store(EOS(STATIC_705(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118, matching1) -> f711_0_createTree_Load(EOS(STATIC_711(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118, 0) :|: TRUE && matching1 = 0 f711_0_createTree_Load(EOS(STATIC_711(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118, matching1) -> f2435_0_createTree_Load(EOS(STATIC_2435(java.lang.Object(ARRAY(i112)), i114)), i90, i103, i118, 0) :|: TRUE && matching1 = 0 f2435_0_createTree_Load(EOS(STATIC_2435(java.lang.Object(ARRAY(i112)), i397)), i90, i103, i398, i399) -> f3754_0_createTree_Load(EOS(STATIC_3754(java.lang.Object(ARRAY(i112)), i397)), i90, i103, i398, i399) :|: TRUE f3754_0_createTree_Load(EOS(STATIC_3754(java.lang.Object(ARRAY(i112)), i667)), i90, i103, i668, i669) -> f3918_0_createTree_Load(EOS(STATIC_3918(java.lang.Object(ARRAY(i112)), i667)), i90, i103, i668, i669) :|: TRUE f3918_0_createTree_Load(EOS(STATIC_3918(java.lang.Object(ARRAY(i112)), i852)), i90, i103, i853, i854) -> f4032_0_createTree_Load(EOS(STATIC_4032(java.lang.Object(ARRAY(i112)), i852)), i90, i103, i853, i854) :|: TRUE f4032_0_createTree_Load(EOS(STATIC_4032(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035) -> f4035_0_createTree_Load(EOS(STATIC_4035(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035) :|: TRUE f4035_0_createTree_Load(EOS(STATIC_4035(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035) -> f4037_0_createTree_GE(EOS(STATIC_4037(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035, i1034) :|: TRUE f4037_0_createTree_GE(EOS(STATIC_4037(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035, i1034) -> f4039_0_createTree_GE(EOS(STATIC_4039(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035, i1034) :|: i1035 < i1034 f4039_0_createTree_GE(EOS(STATIC_4039(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1035, i1034) -> f4043_0_createTree_Load(EOS(STATIC_4043(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035) :|: i1035 < i1034 f4043_0_createTree_Load(EOS(STATIC_4043(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035) -> f4045_0_createTree_Load(EOS(STATIC_4045(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035) :|: TRUE f4045_0_createTree_Load(EOS(STATIC_4045(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035) -> f4047_0_createTree_ConstantStackPush(EOS(STATIC_4047(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i103) :|: TRUE f4047_0_createTree_ConstantStackPush(EOS(STATIC_4047(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i103) -> f4048_0_createTree_IntArithmetic(EOS(STATIC_4048(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i103, 1) :|: TRUE f4048_0_createTree_IntArithmetic(EOS(STATIC_4048(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i103, matching1) -> f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i103 - 1) :|: i103 >= 0 && matching1 = 1 f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1069) -> f4053_0_createTree_Load(EOS(STATIC_4053(java.lang.Object(ARRAY(i1032)), i1033)), i1069, i1069) :|: i90 >= 1 && i1034 >= 1 && i1033 > 1 && i90 > i103 && i1035 < i1034 && i1069 < i103 && i1069 < i90 f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1069) -> f4053_1_createTree_Load(EOS(STATIC_4053(java.lang.Object(ARRAY(i1032)), i1033)), i90, i103, i1034, i1035, i1069) :|: i90 >= 1 && i1034 >= 1 && i1033 > 1 && i90 > i103 && i1035 < i1034 && i1069 < i103 && i1069 < i90 f4053_0_createTree_Load(EOS(STATIC_4053(java.lang.Object(ARRAY(i1032)), i1033)), i1069, i1069) -> f4055_0_createTree_Load(EOS(STATIC_4055(java.lang.Object(ARRAY(i1032)), i1033)), i1069, i1069) :|: TRUE f4055_0_createTree_Load(EOS(STATIC_4055(java.lang.Object(ARRAY(i1032)), i1033)), i1069, i1069) -> f533_0_createTree_Load(EOS(STATIC_533(java.lang.Object(ARRAY(i1032)), i1033)), i1069, i1069) :|: TRUE f533_0_createTree_Load(EOS(STATIC_533(java.lang.Object(o54sub), i86)), i87, i87) -> f541_0_createTree_GT(EOS(STATIC_541(java.lang.Object(o54sub), i86)), i87, i87, i87) :|: TRUE f4060_0_createTree_Return(EOS(STATIC_4060(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4066_0_createTree_InvokeMethod(EOS(STATIC_4066(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4066_0_createTree_InvokeMethod(EOS(STATIC_4066(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4070_0_addChild_Load(EOS(STATIC_4070(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4070_0_addChild_Load(EOS(STATIC_4070(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4076_0_addChild_New(EOS(STATIC_4076(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4076_0_addChild_New(EOS(STATIC_4076(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4083_0_addChild_Duplicate(EOS(STATIC_4083(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4083_0_addChild_Duplicate(EOS(STATIC_4083(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4089_0_addChild_Load(EOS(STATIC_4089(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4089_0_addChild_Load(EOS(STATIC_4089(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4094_0_addChild_Load(EOS(STATIC_4094(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4094_0_addChild_Load(EOS(STATIC_4094(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4098_0_addChild_FieldAccess(EOS(STATIC_4098(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4098_0_addChild_FieldAccess(EOS(STATIC_4098(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4101_0_addChild_InvokeMethod(EOS(STATIC_4101(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4101_0_addChild_InvokeMethod(EOS(STATIC_4101(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4106_0__init__Load(EOS(STATIC_4106(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4106_0__init__Load(EOS(STATIC_4106(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4114_0__init__InvokeMethod(EOS(STATIC_4114(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4114_0__init__InvokeMethod(EOS(STATIC_4114(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4119_0__init__Load(EOS(STATIC_4119(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4119_0__init__Load(EOS(STATIC_4119(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4122_0__init__Load(EOS(STATIC_4122(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4122_0__init__Load(EOS(STATIC_4122(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4127_0__init__FieldAccess(EOS(STATIC_4127(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4127_0__init__FieldAccess(EOS(STATIC_4127(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4131_0__init__Load(EOS(STATIC_4131(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4131_0__init__Load(EOS(STATIC_4131(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4135_0__init__Load(EOS(STATIC_4135(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4135_0__init__Load(EOS(STATIC_4135(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4138_0__init__FieldAccess(EOS(STATIC_4138(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4138_0__init__FieldAccess(EOS(STATIC_4138(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4140_0__init__Return(EOS(STATIC_4140(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4140_0__init__Return(EOS(STATIC_4140(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4142_0_addChild_FieldAccess(EOS(STATIC_4142(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4142_0_addChild_FieldAccess(EOS(STATIC_4142(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4146_0_addChild_Return(EOS(STATIC_4146(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4146_0_addChild_Return(EOS(STATIC_4146(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4149_0_createTree_Inc(EOS(STATIC_4149(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4149_0_createTree_Inc(EOS(STATIC_4149(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) -> f4152_0_createTree_JMP(EOS(STATIC_4152(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035 + 1) :|: TRUE f4152_0_createTree_JMP(EOS(STATIC_4152(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1214) -> f4155_0_createTree_Load(EOS(STATIC_4155(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1214) :|: TRUE f4155_0_createTree_Load(EOS(STATIC_4155(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1214) -> f4032_0_createTree_Load(EOS(STATIC_4032(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1214) :|: TRUE f4064_0_createTree_Return(EOS(STATIC_4064(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4068_0_createTree_InvokeMethod(EOS(STATIC_4068(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4068_0_createTree_InvokeMethod(EOS(STATIC_4068(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4072_0_addChild_Load(EOS(STATIC_4072(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4072_0_addChild_Load(EOS(STATIC_4072(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4080_0_addChild_New(EOS(STATIC_4080(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4080_0_addChild_New(EOS(STATIC_4080(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4086_0_addChild_Duplicate(EOS(STATIC_4086(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4086_0_addChild_Duplicate(EOS(STATIC_4086(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4091_0_addChild_Load(EOS(STATIC_4091(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4091_0_addChild_Load(EOS(STATIC_4091(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4095_0_addChild_Load(EOS(STATIC_4095(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4095_0_addChild_Load(EOS(STATIC_4095(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4099_0_addChild_FieldAccess(EOS(STATIC_4099(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4099_0_addChild_FieldAccess(EOS(STATIC_4099(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4102_0_addChild_InvokeMethod(EOS(STATIC_4102(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4102_0_addChild_InvokeMethod(EOS(STATIC_4102(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4107_0__init__Load(EOS(STATIC_4107(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4107_0__init__Load(EOS(STATIC_4107(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4115_0__init__InvokeMethod(EOS(STATIC_4115(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4115_0__init__InvokeMethod(EOS(STATIC_4115(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4120_0__init__Load(EOS(STATIC_4120(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4120_0__init__Load(EOS(STATIC_4120(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4123_0__init__Load(EOS(STATIC_4123(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4123_0__init__Load(EOS(STATIC_4123(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4128_0__init__FieldAccess(EOS(STATIC_4128(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4128_0__init__FieldAccess(EOS(STATIC_4128(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4132_0__init__Load(EOS(STATIC_4132(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4132_0__init__Load(EOS(STATIC_4132(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4136_0__init__Load(EOS(STATIC_4136(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4136_0__init__Load(EOS(STATIC_4136(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4139_0__init__FieldAccess(EOS(STATIC_4139(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4139_0__init__FieldAccess(EOS(STATIC_4139(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4141_0__init__Return(EOS(STATIC_4141(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4141_0__init__Return(EOS(STATIC_4141(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4143_0_addChild_FieldAccess(EOS(STATIC_4143(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4143_0_addChild_FieldAccess(EOS(STATIC_4143(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4147_0_addChild_Return(EOS(STATIC_4147(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4147_0_addChild_Return(EOS(STATIC_4147(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4150_0_createTree_Inc(EOS(STATIC_4150(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE f4150_0_createTree_Inc(EOS(STATIC_4150(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) -> f4153_0_createTree_JMP(EOS(STATIC_4153(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035 + 1) :|: TRUE f4153_0_createTree_JMP(EOS(STATIC_4153(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1215) -> f4156_0_createTree_Load(EOS(STATIC_4156(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1215) :|: TRUE f4156_0_createTree_Load(EOS(STATIC_4156(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1215) -> f4032_0_createTree_Load(EOS(STATIC_4032(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1215) :|: TRUE f4053_1_createTree_Load(EOS(STATIC_4053(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035, i1069) -> f4060_0_createTree_Return(EOS(STATIC_4060(java.lang.Object(ARRAY(i1032)), i1080)), i90, i103, i1034, i1035) :|: TRUE f4053_1_createTree_Load(EOS(STATIC_4053(java.lang.Object(ARRAY(i1105)), i1033)), i90, i103, i1034, i1035, i1069) -> f4064_0_createTree_Return(EOS(STATIC_4064(java.lang.Object(ARRAY(i1105)), i1102)), i90, i103, i1034, i1035) :|: TRUE Combined rules. Obtained 3 IRulesP rules: f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1033:0)), i90:0, i103:0, i1034:0, i1035:0, i1069:0) -> f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1033:0)), i90:0, i103:0, i1034:0, i1035:0 + 1, i103:0 - 1) :|: i1035:0 + 1 < i1034:0 && i1034:0 > 0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i90:0 > i1069:0 && i1069:0 < i103:0 f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1033:0)), i90:0, i103:0, i1034:0, i1035:0, i1069:0) -> f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1033:0 + 1)), i1069:0, i1069:0 - 1, i118:0, 0, i1069:0 - 2) :|: i1033:0 > 1 && i118:0 > 0 && i1069:0 > 0 && i1032:0 > -1 && i1033:0 < i1032:0 && i1034:0 > 0 && i90:0 > 0 && i90:0 > i103:0 && i1035:0 < i1034:0 && i1069:0 < i103:0 && i90:0 > i1069:0 f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1033:0)), i90:0, i103:0, i1034:0, i1035:0, i1069:0) -> f4051_0_createTree_InvokeMethod(EOS(STATIC_4051(java.lang.Object(ARRAY(i1032:0)), i1102:0)), i90:0, i103:0, i1034:0, i1035:0 + 1, i103:0 - 1) :|: i1035:0 + 1 < i1034:0 && i1034:0 > 0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i90:0 > i1069:0 && i1069:0 < i103:0 Finished conversion. Obtained 3 rules.P rules: f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0 + 1, i103:0 - 1, i1032:0, i1033:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i1069:0, i1069:0 - 1, i118:0, 0, i1069:0 - 2, i1032:0, i1033:0 + 1) :|: i118:0 > 0 && i1033:0 > 1 && i1069:0 > 0 && i1032:0 > -1 && i1033:0 < i1032:0 && i1034:0 > 0 && i90:0 > 0 && i90:0 > i103:0 && i1035:0 < i1034:0 && i90:0 > i1069:0 && i1069:0 < i103:0 f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0 + 1, i103:0 - 1, i1032:0, i1102:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 ---------------------------------------- (24) Obligation: Rules: f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0 + 1, i103:0 - 1, i1032:0, i1033:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 f4051_0_createTree_InvokeMethod(x, x1, x2, x3, x4, x5, x6) -> f4051_0_createTree_InvokeMethod(x4, x4 - 1, x7, 0, x4 - 2, x5, x6 + 1) :|: x7 > 0 && x6 > 1 && x4 > 0 && x5 > -1 && x6 < x5 && x2 > 0 && x > 0 && x > x1 && x3 < x2 && x > x4 && x4 < x1 f4051_0_createTree_InvokeMethod(x8, x9, x10, x11, x12, x13, x14) -> f4051_0_createTree_InvokeMethod(x8, x9, x10, x11 + 1, x9 - 1, x13, x15) :|: x10 > 0 && x11 + 1 < x10 && x8 > 0 && x14 > 1 && x8 > x9 && x9 > -1 && x12 < x9 && x8 > x12 ---------------------------------------- (25) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (26) Obligation: Rules: f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, arith, arith1, i1032:0, i1033:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 && arith = i1035:0 + 1 && arith1 = i103:0 - 1 f4051_0_createTree_InvokeMethod(x16, x17, x18, x19, x20, x21, x22) -> f4051_0_createTree_InvokeMethod(x20, x23, x24, 0, x25, x21, x26) :|: x24 > 0 && x22 > 1 && x20 > 0 && x21 > -1 && x22 < x21 && x18 > 0 && x16 > 0 && x16 > x17 && x19 < x18 && x16 > x20 && x20 < x17 && x23 = x20 - 1 && x25 = x20 - 2 && x26 = x22 + 1 f4051_0_createTree_InvokeMethod(x27, x28, x29, x30, x31, x32, x33) -> f4051_0_createTree_InvokeMethod(x27, x28, x29, x34, x35, x32, x36) :|: x29 > 0 && x30 + 1 < x29 && x27 > 0 && x33 > 1 && x27 > x28 && x28 > -1 && x31 < x28 && x27 > x31 && x34 = x30 + 1 && x35 = x28 - 1 ---------------------------------------- (27) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, arith, arith1, i1032:0, i1033:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 && arith = i1035:0 + 1 && arith1 = i103:0 - 1 (2) f4051_0_createTree_InvokeMethod(x16, x17, x18, x19, x20, x21, x22) -> f4051_0_createTree_InvokeMethod(x20, x23, x24, 0, x25, x21, x26) :|: x24 > 0 && x22 > 1 && x20 > 0 && x21 > -1 && x22 < x21 && x18 > 0 && x16 > 0 && x16 > x17 && x19 < x18 && x16 > x20 && x20 < x17 && x23 = x20 - 1 && x25 = x20 - 2 && x26 = x22 + 1 (3) f4051_0_createTree_InvokeMethod(x27, x28, x29, x30, x31, x32, x33) -> f4051_0_createTree_InvokeMethod(x27, x28, x29, x34, x35, x32, x36) :|: x29 > 0 && x30 + 1 < x29 && x27 > 0 && x33 > 1 && x27 > x28 && x28 > -1 && x31 < x28 && x27 > x31 && x34 = x30 + 1 && x35 = x28 - 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (28) Obligation: Termination digraph: Nodes: (1) f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, i1035:0, i1069:0, i1032:0, i1033:0) -> f4051_0_createTree_InvokeMethod(i90:0, i103:0, i1034:0, arith, arith1, i1032:0, i1033:0) :|: i1034:0 > 0 && i1035:0 + 1 < i1034:0 && i90:0 > 0 && i1033:0 > 1 && i90:0 > i103:0 && i103:0 > -1 && i1069:0 < i103:0 && i90:0 > i1069:0 && arith = i1035:0 + 1 && arith1 = i103:0 - 1 (2) f4051_0_createTree_InvokeMethod(x16, x17, x18, x19, x20, x21, x22) -> f4051_0_createTree_InvokeMethod(x20, x23, x24, 0, x25, x21, x26) :|: x24 > 0 && x22 > 1 && x20 > 0 && x21 > -1 && x22 < x21 && x18 > 0 && x16 > 0 && x16 > x17 && x19 < x18 && x16 > x20 && x20 < x17 && x23 = x20 - 1 && x25 = x20 - 2 && x26 = x22 + 1 (3) f4051_0_createTree_InvokeMethod(x27, x28, x29, x30, x31, x32, x33) -> f4051_0_createTree_InvokeMethod(x27, x28, x29, x34, x35, x32, x36) :|: x29 > 0 && x30 + 1 < x29 && x27 > 0 && x33 > 1 && x27 > x28 && x28 > -1 && x31 < x28 && x27 > x31 && x34 = x30 + 1 && x35 = x28 - 1 Arcs: (1) -> (1), (2), (3) (2) -> (1), (2), (3) (3) -> (1), (2), (3) This digraph is fully evaluated! ---------------------------------------- (29) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (30) Obligation: Rules: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0 + 1, x28:0 - 1, x32:0, x36:0) :|: x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0 f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0, i1069:0:0, i1032:0:0, i1033:0:0) -> f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0 + 1, i103:0:0 - 1, i1032:0:0, i1033:0:0) :|: i1069:0:0 < i103:0:0 && i90:0:0 > i1069:0:0 && i103:0:0 > -1 && i90:0:0 > i103:0:0 && i1033:0:0 > 1 && i90:0:0 > 0 && i1035:0:0 + 1 < i1034:0:0 && i1034:0:0 > 0 f4051_0_createTree_InvokeMethod(x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x22:0) -> f4051_0_createTree_InvokeMethod(x20:0, x20:0 - 1, x24:0, 0, x20:0 - 2, x21:0, x22:0 + 1) :|: x20:0 < x16:0 && x20:0 < x17:0 && x19:0 < x18:0 && x17:0 < x16:0 && x16:0 > 0 && x18:0 > 0 && x22:0 < x21:0 && x21:0 > -1 && x20:0 > 0 && x22:0 > 1 && x24:0 > 0 ---------------------------------------- (31) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4051_0_createTree_InvokeMethod(INTEGER, INTEGER, INTEGER, VARIABLE, INTEGER, VARIABLE, VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (32) Obligation: Rules: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0, i1069:0:0, i1032:0:0, i1033:0:0) -> f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, c2, c3, i1032:0:0, i1033:0:0) :|: c3 = i103:0:0 - 1 && c2 = i1035:0:0 + 1 && (i1069:0:0 < i103:0:0 && i90:0:0 > i1069:0:0 && i103:0:0 > -1 && i90:0:0 > i103:0:0 && i1033:0:0 > 1 && i90:0:0 > 0 && i1035:0:0 + 1 < i1034:0:0 && i1034:0:0 > 0) f4051_0_createTree_InvokeMethod(x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x22:0) -> f4051_0_createTree_InvokeMethod(x20:0, c4, x24:0, c5, c6, x21:0, c7) :|: c7 = x22:0 + 1 && (c6 = x20:0 - 2 && (c5 = 0 && c4 = x20:0 - 1)) && (x20:0 < x16:0 && x20:0 < x17:0 && x19:0 < x18:0 && x17:0 < x16:0 && x16:0 > 0 && x18:0 > 0 && x22:0 < x21:0 && x21:0 > -1 && x20:0 > 0 && x22:0 > 1 && x24:0 > 0) ---------------------------------------- (33) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4051_0_createTree_InvokeMethod(x, x1, x2, x3, x4, x5, x6)] = -2 + x + x5 The following rules are decreasing: f4051_0_createTree_InvokeMethod(x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x22:0) -> f4051_0_createTree_InvokeMethod(x20:0, c4, x24:0, c5, c6, x21:0, c7) :|: c7 = x22:0 + 1 && (c6 = x20:0 - 2 && (c5 = 0 && c4 = x20:0 - 1)) && (x20:0 < x16:0 && x20:0 < x17:0 && x19:0 < x18:0 && x17:0 < x16:0 && x16:0 > 0 && x18:0 > 0 && x22:0 < x21:0 && x21:0 > -1 && x20:0 > 0 && x22:0 > 1 && x24:0 > 0) The following rules are bounded: f4051_0_createTree_InvokeMethod(x16:0, x17:0, x18:0, x19:0, x20:0, x21:0, x22:0) -> f4051_0_createTree_InvokeMethod(x20:0, c4, x24:0, c5, c6, x21:0, c7) :|: c7 = x22:0 + 1 && (c6 = x20:0 - 2 && (c5 = 0 && c4 = x20:0 - 1)) && (x20:0 < x16:0 && x20:0 < x17:0 && x19:0 < x18:0 && x17:0 < x16:0 && x16:0 > 0 && x18:0 > 0 && x22:0 < x21:0 && x21:0 > -1 && x20:0 > 0 && x22:0 > 1 && x24:0 > 0) ---------------------------------------- (34) Obligation: Rules: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0, i1069:0:0, i1032:0:0, i1033:0:0) -> f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, c2, c3, i1032:0:0, i1033:0:0) :|: c3 = i103:0:0 - 1 && c2 = i1035:0:0 + 1 && (i1069:0:0 < i103:0:0 && i90:0:0 > i1069:0:0 && i103:0:0 > -1 && i90:0:0 > i103:0:0 && i1033:0:0 > 1 && i90:0:0 > 0 && i1035:0:0 + 1 < i1034:0:0 && i1034:0:0 > 0) ---------------------------------------- (35) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4051_0_createTree_InvokeMethod(x, x1, x2, x3, x4, x5, x6)] = x1 + x2 - x3 The following rules are decreasing: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0, i1069:0:0, i1032:0:0, i1033:0:0) -> f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, c2, c3, i1032:0:0, i1033:0:0) :|: c3 = i103:0:0 - 1 && c2 = i1035:0:0 + 1 && (i1069:0:0 < i103:0:0 && i90:0:0 > i1069:0:0 && i103:0:0 > -1 && i90:0:0 > i103:0:0 && i1033:0:0 > 1 && i90:0:0 > 0 && i1035:0:0 + 1 < i1034:0:0 && i1034:0:0 > 0) The following rules are bounded: f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, i1035:0:0, i1069:0:0, i1032:0:0, i1033:0:0) -> f4051_0_createTree_InvokeMethod(i90:0:0, i103:0:0, i1034:0:0, c2, c3, i1032:0:0, i1033:0:0) :|: c3 = i103:0:0 - 1 && c2 = i1035:0:0 + 1 && (i1069:0:0 < i103:0:0 && i90:0:0 > i1069:0:0 && i103:0:0 > -1 && i90:0:0 > i103:0:0 && i1033:0:0 > 1 && i90:0:0 > 0 && i1035:0:0 + 1 < i1034:0:0 && i1034:0:0 > 0) ---------------------------------------- (36) Obligation: Rules: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) ---------------------------------------- (37) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4051_0_createTree_InvokeMethod(x, x1, x2, x3, x4, x5, x6)] = x2 - x3 The following rules are decreasing: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) The following rules are bounded: f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0) -> f4051_0_createTree_InvokeMethod(x27:0, x28:0, x29:0, c, c1, x32:0, x36:0) :|: c1 = x28:0 - 1 && c = x30:0 + 1 && (x31:0 < x28:0 && x31:0 < x27:0 && x28:0 > -1 && x28:0 < x27:0 && x33:0 > 1 && x27:0 > 0 && x30:0 + 1 < x29:0 && x29:0 > 0) ---------------------------------------- (38) YES