/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.jar /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 381 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 3 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 12 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 11 ms] (17) IntTRS (18) RankingReductionPairProof [EQUIVALENT, 0 ms] (19) YES (20) JBCTerminationSCC (21) SCCToIRSProof [SOUND, 4 ms] (22) IRSwT (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (24) IRSwT (25) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] (26) IRSwT (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] (28) IRSwT (29) TempFilterProof [SOUND, 6 ms] (30) IntTRS (31) RankingReductionPairProof [EQUIVALENT, 3 ms] (32) YES (33) JBCTerminationSCC (34) SCCToIRSProof [SOUND, 3 ms] (35) IRSwT (36) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (37) IRSwT (38) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (39) IRSwT (40) IntTRSCompressionProof [EQUIVALENT, 0 ms] (41) IRSwT (42) TempFilterProof [SOUND, 7 ms] (43) IntTRS (44) RankingReductionPairProof [EQUIVALENT, 0 ms] (45) YES (46) JBCTerminationSCC (47) SCCToIRSProof [SOUND, 32 ms] (48) IRSwT (49) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (50) IRSwT (51) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (52) IRSwT (53) IntTRSCompressionProof [EQUIVALENT, 0 ms] (54) IRSwT (55) TempFilterProof [SOUND, 9 ms] (56) IntTRS (57) RankingReductionPairProof [EQUIVALENT, 0 ms] (58) YES (59) JBCTerminationSCC (60) SCCToIRSProof [SOUND, 12 ms] (61) IRSwT (62) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (63) IRSwT (64) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (65) IRSwT (66) IntTRSCompressionProof [EQUIVALENT, 0 ms] (67) IRSwT (68) TempFilterProof [SOUND, 8 ms] (69) IntTRS (70) RankingReductionPairProof [EQUIVALENT, 0 ms] (71) YES (72) JBCTerminationSCC (73) SCCToIRSProof [SOUND, 3 ms] (74) IRSwT (75) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (76) IRSwT (77) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (78) IRSwT (79) IntTRSCompressionProof [EQUIVALENT, 0 ms] (80) IRSwT (81) TempFilterProof [SOUND, 8 ms] (82) IntTRS (83) RankingReductionPairProof [EQUIVALENT, 0 ms] (84) YES (85) JBCTerminationSCC (86) SCCToIRSProof [SOUND, 3 ms] (87) IRSwT (88) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (89) IRSwT (90) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (91) IRSwT (92) IntTRSCompressionProof [EQUIVALENT, 0 ms] (93) IRSwT (94) TempFilterProof [SOUND, 8 ms] (95) IntTRS (96) RankingReductionPairProof [EQUIVALENT, 3 ms] (97) YES (98) JBCTerminationSCC (99) SCCToIRSProof [SOUND, 3 ms] (100) IRSwT (101) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (102) IRSwT (103) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (104) IRSwT (105) IntTRSCompressionProof [EQUIVALENT, 0 ms] (106) IRSwT (107) TempFilterProof [SOUND, 7 ms] (108) IntTRS (109) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (110) YES (111) JBCTerminationSCC (112) SCCToIRSProof [SOUND, 3 ms] (113) IRSwT (114) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (115) IRSwT (116) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (117) IRSwT (118) IntTRSCompressionProof [EQUIVALENT, 0 ms] (119) IRSwT (120) TempFilterProof [SOUND, 34 ms] (121) IntTRS (122) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (123) YES (124) JBCTerminationSCC (125) SCCToIRSProof [SOUND, 3 ms] (126) IRSwT (127) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (128) IRSwT (129) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] (130) IRSwT (131) IntTRSCompressionProof [EQUIVALENT, 0 ms] (132) IRSwT (133) TempFilterProof [SOUND, 8 ms] (134) IntTRS (135) RankingReductionPairProof [EQUIVALENT, 0 ms] (136) YES (137) JBCTerminationSCC (138) SCCToIRSProof [SOUND, 3 ms] (139) IRSwT (140) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (141) IRSwT (142) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (143) IRSwT (144) IntTRSCompressionProof [EQUIVALENT, 0 ms] (145) IRSwT (146) TempFilterProof [SOUND, 6 ms] (147) IntTRS (148) RankingReductionPairProof [EQUIVALENT, 0 ms] (149) YES (150) JBCTerminationSCC (151) SCCToIRSProof [SOUND, 3 ms] (152) IRSwT (153) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (154) IRSwT (155) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (156) IRSwT (157) IntTRSCompressionProof [EQUIVALENT, 0 ms] (158) IRSwT (159) TempFilterProof [SOUND, 7 ms] (160) IntTRS (161) RankingReductionPairProof [EQUIVALENT, 0 ms] (162) YES (163) JBCTerminationSCC (164) SCCToIRSProof [SOUND, 58 ms] (165) IRSwT (166) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (167) IRSwT (168) IRSwTTerminationDigraphProof [EQUIVALENT, 11 ms] (169) IRSwT (170) IntTRSCompressionProof [EQUIVALENT, 0 ms] (171) IRSwT (172) TempFilterProof [SOUND, 22 ms] (173) IntTRS (174) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (175) IntTRS (176) RankingReductionPairProof [EQUIVALENT, 0 ms] (177) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class Test9 { public static void main(String[] args) { long l = args.length; while (l > 0) { for (int i = (int) l ; i < 100; i++) test(i); l--; } } private static void test(int i) { int j, k, l, m; for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class Test9 { public static void main(String[] args) { long l = args.length; while (l > 0) { for (int i = (int) l ; i < 100; i++) test(i); l--; } } private static void test(int i) { int j, k, l, m; for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); for (j = i; j > 0; j--); for (k = i; k > 0; k--); for (l = i; l > 0; l--); for (m = i; m > 0; m--); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Test9.main([Ljava/lang/String;)V: Graph of 36 nodes with 1 SCC. Test9.test(I)V: Graph of 122 nodes with 12 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 13 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1234_0_test_LE(EOS(STATIC_1234), i321, i321) -> f1237_0_test_LE(EOS(STATIC_1237), i321, i321) :|: TRUE f1237_0_test_LE(EOS(STATIC_1237), i321, i321) -> f1241_0_test_Inc(EOS(STATIC_1241), i321) :|: i321 > 0 f1241_0_test_Inc(EOS(STATIC_1241), i321) -> f1250_0_test_JMP(EOS(STATIC_1250), i321 + -1) :|: TRUE f1250_0_test_JMP(EOS(STATIC_1250), i326) -> f1346_0_test_Load(EOS(STATIC_1346), i326) :|: TRUE f1346_0_test_Load(EOS(STATIC_1346), i326) -> f1231_0_test_Load(EOS(STATIC_1231), i326) :|: TRUE f1231_0_test_Load(EOS(STATIC_1231), i313) -> f1234_0_test_LE(EOS(STATIC_1234), i313, i313) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1234_0_test_LE(EOS(STATIC_1234), i321:0, i321:0) -> f1234_0_test_LE(EOS(STATIC_1234), i321:0 - 1, i321:0 - 1) :|: i321:0 > 0 Filtered constant ground arguments: f1234_0_test_LE(x1, x2, x3) -> f1234_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1234_0_test_LE(x1, x2) -> f1234_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1234_0_test_LE(i321:0) -> f1234_0_test_LE(i321:0 - 1) :|: i321:0 > 0 ---------------------------------------- (9) Obligation: Rules: f1234_0_test_LE(i321:0) -> f1234_0_test_LE(i321:0 - 1) :|: i321:0 > 0 ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f1234_0_test_LE(i321:0) -> f1234_0_test_LE(arith) :|: i321:0 > 0 && arith = i321:0 - 1 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1234_0_test_LE(i321:0) -> f1234_0_test_LE(arith) :|: i321:0 > 0 && arith = i321:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f1234_0_test_LE(i321:0) -> f1234_0_test_LE(arith) :|: i321:0 > 0 && arith = i321:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f1234_0_test_LE(i321:0:0) -> f1234_0_test_LE(i321:0:0 - 1) :|: i321:0:0 > 0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1234_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (17) Obligation: Rules: f1234_0_test_LE(i321:0:0) -> f1234_0_test_LE(c) :|: c = i321:0:0 - 1 && i321:0:0 > 0 ---------------------------------------- (18) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1234_0_test_LE ] = f1234_0_test_LE_1 The following rules are decreasing: f1234_0_test_LE(i321:0:0) -> f1234_0_test_LE(c) :|: c = i321:0:0 - 1 && i321:0:0 > 0 The following rules are bounded: f1234_0_test_LE(i321:0:0) -> f1234_0_test_LE(c) :|: c = i321:0:0 - 1 && i321:0:0 > 0 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1121_0_test_LE(EOS(STATIC_1121), i293, i293) -> f1123_0_test_LE(EOS(STATIC_1123), i293, i293) :|: TRUE f1123_0_test_LE(EOS(STATIC_1123), i293, i293) -> f1127_0_test_Inc(EOS(STATIC_1127), i293) :|: i293 > 0 f1127_0_test_Inc(EOS(STATIC_1127), i293) -> f1132_0_test_JMP(EOS(STATIC_1132), i293 + -1) :|: TRUE f1132_0_test_JMP(EOS(STATIC_1132), i295) -> f1197_0_test_Load(EOS(STATIC_1197), i295) :|: TRUE f1197_0_test_Load(EOS(STATIC_1197), i295) -> f1120_0_test_Load(EOS(STATIC_1120), i295) :|: TRUE f1120_0_test_Load(EOS(STATIC_1120), i291) -> f1121_0_test_LE(EOS(STATIC_1121), i291, i291) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1121_0_test_LE(EOS(STATIC_1121), i293:0, i293:0) -> f1121_0_test_LE(EOS(STATIC_1121), i293:0 - 1, i293:0 - 1) :|: i293:0 > 0 Filtered constant ground arguments: f1121_0_test_LE(x1, x2, x3) -> f1121_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1121_0_test_LE(x1, x2) -> f1121_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1121_0_test_LE(i293:0) -> f1121_0_test_LE(i293:0 - 1) :|: i293:0 > 0 ---------------------------------------- (22) Obligation: Rules: f1121_0_test_LE(i293:0) -> f1121_0_test_LE(i293:0 - 1) :|: i293:0 > 0 ---------------------------------------- (23) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (24) Obligation: Rules: f1121_0_test_LE(i293:0) -> f1121_0_test_LE(arith) :|: i293:0 > 0 && arith = i293:0 - 1 ---------------------------------------- (25) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1121_0_test_LE(i293:0) -> f1121_0_test_LE(arith) :|: i293:0 > 0 && arith = i293:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (26) Obligation: Termination digraph: Nodes: (1) f1121_0_test_LE(i293:0) -> f1121_0_test_LE(arith) :|: i293:0 > 0 && arith = i293:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (27) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (28) Obligation: Rules: f1121_0_test_LE(i293:0:0) -> f1121_0_test_LE(i293:0:0 - 1) :|: i293:0:0 > 0 ---------------------------------------- (29) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1121_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (30) Obligation: Rules: f1121_0_test_LE(i293:0:0) -> f1121_0_test_LE(c) :|: c = i293:0:0 - 1 && i293:0:0 > 0 ---------------------------------------- (31) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1121_0_test_LE ] = f1121_0_test_LE_1 The following rules are decreasing: f1121_0_test_LE(i293:0:0) -> f1121_0_test_LE(c) :|: c = i293:0:0 - 1 && i293:0:0 > 0 The following rules are bounded: f1121_0_test_LE(i293:0:0) -> f1121_0_test_LE(c) :|: c = i293:0:0 - 1 && i293:0:0 > 0 ---------------------------------------- (32) YES ---------------------------------------- (33) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (34) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f1072_0_test_LE(EOS(STATIC_1072), i277, i277) -> f1077_0_test_LE(EOS(STATIC_1077), i277, i277) :|: TRUE f1077_0_test_LE(EOS(STATIC_1077), i277, i277) -> f1080_0_test_Inc(EOS(STATIC_1080), i277) :|: i277 > 0 f1080_0_test_Inc(EOS(STATIC_1080), i277) -> f1085_0_test_JMP(EOS(STATIC_1085), i277 + -1) :|: TRUE f1085_0_test_JMP(EOS(STATIC_1085), i279) -> f1106_0_test_Load(EOS(STATIC_1106), i279) :|: TRUE f1106_0_test_Load(EOS(STATIC_1106), i279) -> f1069_0_test_Load(EOS(STATIC_1069), i279) :|: TRUE f1069_0_test_Load(EOS(STATIC_1069), i274) -> f1072_0_test_LE(EOS(STATIC_1072), i274, i274) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1072_0_test_LE(EOS(STATIC_1072), i277:0, i277:0) -> f1072_0_test_LE(EOS(STATIC_1072), i277:0 - 1, i277:0 - 1) :|: i277:0 > 0 Filtered constant ground arguments: f1072_0_test_LE(x1, x2, x3) -> f1072_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f1072_0_test_LE(x1, x2) -> f1072_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f1072_0_test_LE(i277:0) -> f1072_0_test_LE(i277:0 - 1) :|: i277:0 > 0 ---------------------------------------- (35) Obligation: Rules: f1072_0_test_LE(i277:0) -> f1072_0_test_LE(i277:0 - 1) :|: i277:0 > 0 ---------------------------------------- (36) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (37) Obligation: Rules: f1072_0_test_LE(i277:0) -> f1072_0_test_LE(arith) :|: i277:0 > 0 && arith = i277:0 - 1 ---------------------------------------- (38) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1072_0_test_LE(i277:0) -> f1072_0_test_LE(arith) :|: i277:0 > 0 && arith = i277:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (39) Obligation: Termination digraph: Nodes: (1) f1072_0_test_LE(i277:0) -> f1072_0_test_LE(arith) :|: i277:0 > 0 && arith = i277:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (40) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (41) Obligation: Rules: f1072_0_test_LE(i277:0:0) -> f1072_0_test_LE(i277:0:0 - 1) :|: i277:0:0 > 0 ---------------------------------------- (42) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1072_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (43) Obligation: Rules: f1072_0_test_LE(i277:0:0) -> f1072_0_test_LE(c) :|: c = i277:0:0 - 1 && i277:0:0 > 0 ---------------------------------------- (44) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f1072_0_test_LE ] = f1072_0_test_LE_1 The following rules are decreasing: f1072_0_test_LE(i277:0:0) -> f1072_0_test_LE(c) :|: c = i277:0:0 - 1 && i277:0:0 > 0 The following rules are bounded: f1072_0_test_LE(i277:0:0) -> f1072_0_test_LE(c) :|: c = i277:0:0 - 1 && i277:0:0 > 0 ---------------------------------------- (45) YES ---------------------------------------- (46) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (47) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f983_0_test_LE(EOS(STATIC_983), i259, i259) -> f987_0_test_LE(EOS(STATIC_987), i259, i259) :|: TRUE f987_0_test_LE(EOS(STATIC_987), i259, i259) -> f992_0_test_Inc(EOS(STATIC_992), i259) :|: i259 > 0 f992_0_test_Inc(EOS(STATIC_992), i259) -> f997_0_test_JMP(EOS(STATIC_997), i259 + -1) :|: TRUE f997_0_test_JMP(EOS(STATIC_997), i261) -> f1045_0_test_Load(EOS(STATIC_1045), i261) :|: TRUE f1045_0_test_Load(EOS(STATIC_1045), i261) -> f976_0_test_Load(EOS(STATIC_976), i261) :|: TRUE f976_0_test_Load(EOS(STATIC_976), i253) -> f983_0_test_LE(EOS(STATIC_983), i253, i253) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f983_0_test_LE(EOS(STATIC_983), i259:0, i259:0) -> f983_0_test_LE(EOS(STATIC_983), i259:0 - 1, i259:0 - 1) :|: i259:0 > 0 Filtered constant ground arguments: f983_0_test_LE(x1, x2, x3) -> f983_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f983_0_test_LE(x1, x2) -> f983_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f983_0_test_LE(i259:0) -> f983_0_test_LE(i259:0 - 1) :|: i259:0 > 0 ---------------------------------------- (48) Obligation: Rules: f983_0_test_LE(i259:0) -> f983_0_test_LE(i259:0 - 1) :|: i259:0 > 0 ---------------------------------------- (49) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (50) Obligation: Rules: f983_0_test_LE(i259:0) -> f983_0_test_LE(arith) :|: i259:0 > 0 && arith = i259:0 - 1 ---------------------------------------- (51) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f983_0_test_LE(i259:0) -> f983_0_test_LE(arith) :|: i259:0 > 0 && arith = i259:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (52) Obligation: Termination digraph: Nodes: (1) f983_0_test_LE(i259:0) -> f983_0_test_LE(arith) :|: i259:0 > 0 && arith = i259:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (53) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (54) Obligation: Rules: f983_0_test_LE(i259:0:0) -> f983_0_test_LE(i259:0:0 - 1) :|: i259:0:0 > 0 ---------------------------------------- (55) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f983_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (56) Obligation: Rules: f983_0_test_LE(i259:0:0) -> f983_0_test_LE(c) :|: c = i259:0:0 - 1 && i259:0:0 > 0 ---------------------------------------- (57) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f983_0_test_LE ] = f983_0_test_LE_1 The following rules are decreasing: f983_0_test_LE(i259:0:0) -> f983_0_test_LE(c) :|: c = i259:0:0 - 1 && i259:0:0 > 0 The following rules are bounded: f983_0_test_LE(i259:0:0) -> f983_0_test_LE(c) :|: c = i259:0:0 - 1 && i259:0:0 > 0 ---------------------------------------- (58) YES ---------------------------------------- (59) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (60) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f911_0_test_LE(EOS(STATIC_911), i239, i239) -> f915_0_test_LE(EOS(STATIC_915), i239, i239) :|: TRUE f915_0_test_LE(EOS(STATIC_915), i239, i239) -> f919_0_test_Inc(EOS(STATIC_919), i239) :|: i239 > 0 f919_0_test_Inc(EOS(STATIC_919), i239) -> f923_0_test_JMP(EOS(STATIC_923), i239 + -1) :|: TRUE f923_0_test_JMP(EOS(STATIC_923), i242) -> f958_0_test_Load(EOS(STATIC_958), i242) :|: TRUE f958_0_test_Load(EOS(STATIC_958), i242) -> f909_0_test_Load(EOS(STATIC_909), i242) :|: TRUE f909_0_test_Load(EOS(STATIC_909), i232) -> f911_0_test_LE(EOS(STATIC_911), i232, i232) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f911_0_test_LE(EOS(STATIC_911), i239:0, i239:0) -> f911_0_test_LE(EOS(STATIC_911), i239:0 - 1, i239:0 - 1) :|: i239:0 > 0 Filtered constant ground arguments: f911_0_test_LE(x1, x2, x3) -> f911_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f911_0_test_LE(x1, x2) -> f911_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f911_0_test_LE(i239:0) -> f911_0_test_LE(i239:0 - 1) :|: i239:0 > 0 ---------------------------------------- (61) Obligation: Rules: f911_0_test_LE(i239:0) -> f911_0_test_LE(i239:0 - 1) :|: i239:0 > 0 ---------------------------------------- (62) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (63) Obligation: Rules: f911_0_test_LE(i239:0) -> f911_0_test_LE(arith) :|: i239:0 > 0 && arith = i239:0 - 1 ---------------------------------------- (64) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f911_0_test_LE(i239:0) -> f911_0_test_LE(arith) :|: i239:0 > 0 && arith = i239:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (65) Obligation: Termination digraph: Nodes: (1) f911_0_test_LE(i239:0) -> f911_0_test_LE(arith) :|: i239:0 > 0 && arith = i239:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (66) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (67) Obligation: Rules: f911_0_test_LE(i239:0:0) -> f911_0_test_LE(i239:0:0 - 1) :|: i239:0:0 > 0 ---------------------------------------- (68) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f911_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (69) Obligation: Rules: f911_0_test_LE(i239:0:0) -> f911_0_test_LE(c) :|: c = i239:0:0 - 1 && i239:0:0 > 0 ---------------------------------------- (70) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f911_0_test_LE ] = f911_0_test_LE_1 The following rules are decreasing: f911_0_test_LE(i239:0:0) -> f911_0_test_LE(c) :|: c = i239:0:0 - 1 && i239:0:0 > 0 The following rules are bounded: f911_0_test_LE(i239:0:0) -> f911_0_test_LE(c) :|: c = i239:0:0 - 1 && i239:0:0 > 0 ---------------------------------------- (71) YES ---------------------------------------- (72) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (73) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f848_0_test_LE(EOS(STATIC_848), i215, i215) -> f852_0_test_LE(EOS(STATIC_852), i215, i215) :|: TRUE f852_0_test_LE(EOS(STATIC_852), i215, i215) -> f856_0_test_Inc(EOS(STATIC_856), i215) :|: i215 > 0 f856_0_test_Inc(EOS(STATIC_856), i215) -> f861_0_test_JMP(EOS(STATIC_861), i215 + -1) :|: TRUE f861_0_test_JMP(EOS(STATIC_861), i218) -> f889_0_test_Load(EOS(STATIC_889), i218) :|: TRUE f889_0_test_Load(EOS(STATIC_889), i218) -> f845_0_test_Load(EOS(STATIC_845), i218) :|: TRUE f845_0_test_Load(EOS(STATIC_845), i212) -> f848_0_test_LE(EOS(STATIC_848), i212, i212) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f848_0_test_LE(EOS(STATIC_848), i215:0, i215:0) -> f848_0_test_LE(EOS(STATIC_848), i215:0 - 1, i215:0 - 1) :|: i215:0 > 0 Filtered constant ground arguments: f848_0_test_LE(x1, x2, x3) -> f848_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f848_0_test_LE(x1, x2) -> f848_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f848_0_test_LE(i215:0) -> f848_0_test_LE(i215:0 - 1) :|: i215:0 > 0 ---------------------------------------- (74) Obligation: Rules: f848_0_test_LE(i215:0) -> f848_0_test_LE(i215:0 - 1) :|: i215:0 > 0 ---------------------------------------- (75) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (76) Obligation: Rules: f848_0_test_LE(i215:0) -> f848_0_test_LE(arith) :|: i215:0 > 0 && arith = i215:0 - 1 ---------------------------------------- (77) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f848_0_test_LE(i215:0) -> f848_0_test_LE(arith) :|: i215:0 > 0 && arith = i215:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (78) Obligation: Termination digraph: Nodes: (1) f848_0_test_LE(i215:0) -> f848_0_test_LE(arith) :|: i215:0 > 0 && arith = i215:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (79) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (80) Obligation: Rules: f848_0_test_LE(i215:0:0) -> f848_0_test_LE(i215:0:0 - 1) :|: i215:0:0 > 0 ---------------------------------------- (81) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f848_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (82) Obligation: Rules: f848_0_test_LE(i215:0:0) -> f848_0_test_LE(c) :|: c = i215:0:0 - 1 && i215:0:0 > 0 ---------------------------------------- (83) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f848_0_test_LE ] = f848_0_test_LE_1 The following rules are decreasing: f848_0_test_LE(i215:0:0) -> f848_0_test_LE(c) :|: c = i215:0:0 - 1 && i215:0:0 > 0 The following rules are bounded: f848_0_test_LE(i215:0:0) -> f848_0_test_LE(c) :|: c = i215:0:0 - 1 && i215:0:0 > 0 ---------------------------------------- (84) YES ---------------------------------------- (85) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (86) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f811_0_test_LE(EOS(STATIC_811), i207, i207) -> f815_0_test_LE(EOS(STATIC_815), i207, i207) :|: TRUE f815_0_test_LE(EOS(STATIC_815), i207, i207) -> f817_0_test_Inc(EOS(STATIC_817), i207) :|: i207 > 0 f817_0_test_Inc(EOS(STATIC_817), i207) -> f819_0_test_JMP(EOS(STATIC_819), i207 + -1) :|: TRUE f819_0_test_JMP(EOS(STATIC_819), i208) -> f826_0_test_Load(EOS(STATIC_826), i208) :|: TRUE f826_0_test_Load(EOS(STATIC_826), i208) -> f807_0_test_Load(EOS(STATIC_807), i208) :|: TRUE f807_0_test_Load(EOS(STATIC_807), i202) -> f811_0_test_LE(EOS(STATIC_811), i202, i202) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f811_0_test_LE(EOS(STATIC_811), i207:0, i207:0) -> f811_0_test_LE(EOS(STATIC_811), i207:0 - 1, i207:0 - 1) :|: i207:0 > 0 Filtered constant ground arguments: f811_0_test_LE(x1, x2, x3) -> f811_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f811_0_test_LE(x1, x2) -> f811_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f811_0_test_LE(i207:0) -> f811_0_test_LE(i207:0 - 1) :|: i207:0 > 0 ---------------------------------------- (87) Obligation: Rules: f811_0_test_LE(i207:0) -> f811_0_test_LE(i207:0 - 1) :|: i207:0 > 0 ---------------------------------------- (88) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (89) Obligation: Rules: f811_0_test_LE(i207:0) -> f811_0_test_LE(arith) :|: i207:0 > 0 && arith = i207:0 - 1 ---------------------------------------- (90) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f811_0_test_LE(i207:0) -> f811_0_test_LE(arith) :|: i207:0 > 0 && arith = i207:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (91) Obligation: Termination digraph: Nodes: (1) f811_0_test_LE(i207:0) -> f811_0_test_LE(arith) :|: i207:0 > 0 && arith = i207:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (92) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (93) Obligation: Rules: f811_0_test_LE(i207:0:0) -> f811_0_test_LE(i207:0:0 - 1) :|: i207:0:0 > 0 ---------------------------------------- (94) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f811_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (95) Obligation: Rules: f811_0_test_LE(i207:0:0) -> f811_0_test_LE(c) :|: c = i207:0:0 - 1 && i207:0:0 > 0 ---------------------------------------- (96) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f811_0_test_LE ] = f811_0_test_LE_1 The following rules are decreasing: f811_0_test_LE(i207:0:0) -> f811_0_test_LE(c) :|: c = i207:0:0 - 1 && i207:0:0 > 0 The following rules are bounded: f811_0_test_LE(i207:0:0) -> f811_0_test_LE(c) :|: c = i207:0:0 - 1 && i207:0:0 > 0 ---------------------------------------- (97) YES ---------------------------------------- (98) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (99) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f728_0_test_LE(EOS(STATIC_728), i189, i189) -> f731_0_test_LE(EOS(STATIC_731), i189, i189) :|: TRUE f731_0_test_LE(EOS(STATIC_731), i189, i189) -> f754_0_test_Inc(EOS(STATIC_754), i189) :|: i189 > 0 f754_0_test_Inc(EOS(STATIC_754), i189) -> f758_0_test_JMP(EOS(STATIC_758), i189 + -1) :|: TRUE f758_0_test_JMP(EOS(STATIC_758), i194) -> f788_0_test_Load(EOS(STATIC_788), i194) :|: TRUE f788_0_test_Load(EOS(STATIC_788), i194) -> f723_0_test_Load(EOS(STATIC_723), i194) :|: TRUE f723_0_test_Load(EOS(STATIC_723), i183) -> f728_0_test_LE(EOS(STATIC_728), i183, i183) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f728_0_test_LE(EOS(STATIC_728), i189:0, i189:0) -> f728_0_test_LE(EOS(STATIC_728), i189:0 - 1, i189:0 - 1) :|: i189:0 > 0 Filtered constant ground arguments: f728_0_test_LE(x1, x2, x3) -> f728_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f728_0_test_LE(x1, x2) -> f728_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f728_0_test_LE(i189:0) -> f728_0_test_LE(i189:0 - 1) :|: i189:0 > 0 ---------------------------------------- (100) Obligation: Rules: f728_0_test_LE(i189:0) -> f728_0_test_LE(i189:0 - 1) :|: i189:0 > 0 ---------------------------------------- (101) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (102) Obligation: Rules: f728_0_test_LE(i189:0) -> f728_0_test_LE(arith) :|: i189:0 > 0 && arith = i189:0 - 1 ---------------------------------------- (103) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f728_0_test_LE(i189:0) -> f728_0_test_LE(arith) :|: i189:0 > 0 && arith = i189:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (104) Obligation: Termination digraph: Nodes: (1) f728_0_test_LE(i189:0) -> f728_0_test_LE(arith) :|: i189:0 > 0 && arith = i189:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (105) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (106) Obligation: Rules: f728_0_test_LE(i189:0:0) -> f728_0_test_LE(i189:0:0 - 1) :|: i189:0:0 > 0 ---------------------------------------- (107) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f728_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (108) Obligation: Rules: f728_0_test_LE(i189:0:0) -> f728_0_test_LE(c) :|: c = i189:0:0 - 1 && i189:0:0 > 0 ---------------------------------------- (109) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f728_0_test_LE(x)] = x The following rules are decreasing: f728_0_test_LE(i189:0:0) -> f728_0_test_LE(c) :|: c = i189:0:0 - 1 && i189:0:0 > 0 The following rules are bounded: f728_0_test_LE(i189:0:0) -> f728_0_test_LE(c) :|: c = i189:0:0 - 1 && i189:0:0 > 0 ---------------------------------------- (110) YES ---------------------------------------- (111) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (112) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f622_0_test_LE(EOS(STATIC_622), i158, i158) -> f626_0_test_LE(EOS(STATIC_626), i158, i158) :|: TRUE f626_0_test_LE(EOS(STATIC_626), i158, i158) -> f631_0_test_Inc(EOS(STATIC_631), i158) :|: i158 > 0 f631_0_test_Inc(EOS(STATIC_631), i158) -> f635_0_test_JMP(EOS(STATIC_635), i158 + -1) :|: TRUE f635_0_test_JMP(EOS(STATIC_635), i160) -> f683_0_test_Load(EOS(STATIC_683), i160) :|: TRUE f683_0_test_Load(EOS(STATIC_683), i160) -> f620_0_test_Load(EOS(STATIC_620), i160) :|: TRUE f620_0_test_Load(EOS(STATIC_620), i154) -> f622_0_test_LE(EOS(STATIC_622), i154, i154) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f622_0_test_LE(EOS(STATIC_622), i158:0, i158:0) -> f622_0_test_LE(EOS(STATIC_622), i158:0 - 1, i158:0 - 1) :|: i158:0 > 0 Filtered constant ground arguments: f622_0_test_LE(x1, x2, x3) -> f622_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f622_0_test_LE(x1, x2) -> f622_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f622_0_test_LE(i158:0) -> f622_0_test_LE(i158:0 - 1) :|: i158:0 > 0 ---------------------------------------- (113) Obligation: Rules: f622_0_test_LE(i158:0) -> f622_0_test_LE(i158:0 - 1) :|: i158:0 > 0 ---------------------------------------- (114) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (115) Obligation: Rules: f622_0_test_LE(i158:0) -> f622_0_test_LE(arith) :|: i158:0 > 0 && arith = i158:0 - 1 ---------------------------------------- (116) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f622_0_test_LE(i158:0) -> f622_0_test_LE(arith) :|: i158:0 > 0 && arith = i158:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (117) Obligation: Termination digraph: Nodes: (1) f622_0_test_LE(i158:0) -> f622_0_test_LE(arith) :|: i158:0 > 0 && arith = i158:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (118) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (119) Obligation: Rules: f622_0_test_LE(i158:0:0) -> f622_0_test_LE(i158:0:0 - 1) :|: i158:0:0 > 0 ---------------------------------------- (120) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f622_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (121) Obligation: Rules: f622_0_test_LE(i158:0:0) -> f622_0_test_LE(c) :|: c = i158:0:0 - 1 && i158:0:0 > 0 ---------------------------------------- (122) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f622_0_test_LE(x)] = x The following rules are decreasing: f622_0_test_LE(i158:0:0) -> f622_0_test_LE(c) :|: c = i158:0:0 - 1 && i158:0:0 > 0 The following rules are bounded: f622_0_test_LE(i158:0:0) -> f622_0_test_LE(c) :|: c = i158:0:0 - 1 && i158:0:0 > 0 ---------------------------------------- (123) YES ---------------------------------------- (124) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (125) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f586_0_test_LE(EOS(STATIC_586), i146, i146) -> f589_0_test_LE(EOS(STATIC_589), i146, i146) :|: TRUE f589_0_test_LE(EOS(STATIC_589), i146, i146) -> f593_0_test_Inc(EOS(STATIC_593), i146) :|: i146 > 0 f593_0_test_Inc(EOS(STATIC_593), i146) -> f598_0_test_JMP(EOS(STATIC_598), i146 + -1) :|: TRUE f598_0_test_JMP(EOS(STATIC_598), i149) -> f601_0_test_Load(EOS(STATIC_601), i149) :|: TRUE f601_0_test_Load(EOS(STATIC_601), i149) -> f583_0_test_Load(EOS(STATIC_583), i149) :|: TRUE f583_0_test_Load(EOS(STATIC_583), i140) -> f586_0_test_LE(EOS(STATIC_586), i140, i140) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f586_0_test_LE(EOS(STATIC_586), i146:0, i146:0) -> f586_0_test_LE(EOS(STATIC_586), i146:0 - 1, i146:0 - 1) :|: i146:0 > 0 Filtered constant ground arguments: f586_0_test_LE(x1, x2, x3) -> f586_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f586_0_test_LE(x1, x2) -> f586_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f586_0_test_LE(i146:0) -> f586_0_test_LE(i146:0 - 1) :|: i146:0 > 0 ---------------------------------------- (126) Obligation: Rules: f586_0_test_LE(i146:0) -> f586_0_test_LE(i146:0 - 1) :|: i146:0 > 0 ---------------------------------------- (127) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (128) Obligation: Rules: f586_0_test_LE(i146:0) -> f586_0_test_LE(arith) :|: i146:0 > 0 && arith = i146:0 - 1 ---------------------------------------- (129) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f586_0_test_LE(i146:0) -> f586_0_test_LE(arith) :|: i146:0 > 0 && arith = i146:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (130) Obligation: Termination digraph: Nodes: (1) f586_0_test_LE(i146:0) -> f586_0_test_LE(arith) :|: i146:0 > 0 && arith = i146:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (131) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (132) Obligation: Rules: f586_0_test_LE(i146:0:0) -> f586_0_test_LE(i146:0:0 - 1) :|: i146:0:0 > 0 ---------------------------------------- (133) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f586_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (134) Obligation: Rules: f586_0_test_LE(i146:0:0) -> f586_0_test_LE(c) :|: c = i146:0:0 - 1 && i146:0:0 > 0 ---------------------------------------- (135) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f586_0_test_LE ] = f586_0_test_LE_1 The following rules are decreasing: f586_0_test_LE(i146:0:0) -> f586_0_test_LE(c) :|: c = i146:0:0 - 1 && i146:0:0 > 0 The following rules are bounded: f586_0_test_LE(i146:0:0) -> f586_0_test_LE(c) :|: c = i146:0:0 - 1 && i146:0:0 > 0 ---------------------------------------- (136) YES ---------------------------------------- (137) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (138) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f541_0_test_LE(EOS(STATIC_541), i130, i130) -> f544_0_test_LE(EOS(STATIC_544), i130, i130) :|: TRUE f544_0_test_LE(EOS(STATIC_544), i130, i130) -> f549_0_test_Inc(EOS(STATIC_549), i130) :|: i130 > 0 f549_0_test_Inc(EOS(STATIC_549), i130) -> f551_0_test_JMP(EOS(STATIC_551), i130 + -1) :|: TRUE f551_0_test_JMP(EOS(STATIC_551), i132) -> f566_0_test_Load(EOS(STATIC_566), i132) :|: TRUE f566_0_test_Load(EOS(STATIC_566), i132) -> f539_0_test_Load(EOS(STATIC_539), i132) :|: TRUE f539_0_test_Load(EOS(STATIC_539), i125) -> f541_0_test_LE(EOS(STATIC_541), i125, i125) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f541_0_test_LE(EOS(STATIC_541), i130:0, i130:0) -> f541_0_test_LE(EOS(STATIC_541), i130:0 - 1, i130:0 - 1) :|: i130:0 > 0 Filtered constant ground arguments: f541_0_test_LE(x1, x2, x3) -> f541_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f541_0_test_LE(x1, x2) -> f541_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f541_0_test_LE(i130:0) -> f541_0_test_LE(i130:0 - 1) :|: i130:0 > 0 ---------------------------------------- (139) Obligation: Rules: f541_0_test_LE(i130:0) -> f541_0_test_LE(i130:0 - 1) :|: i130:0 > 0 ---------------------------------------- (140) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (141) Obligation: Rules: f541_0_test_LE(i130:0) -> f541_0_test_LE(arith) :|: i130:0 > 0 && arith = i130:0 - 1 ---------------------------------------- (142) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f541_0_test_LE(i130:0) -> f541_0_test_LE(arith) :|: i130:0 > 0 && arith = i130:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (143) Obligation: Termination digraph: Nodes: (1) f541_0_test_LE(i130:0) -> f541_0_test_LE(arith) :|: i130:0 > 0 && arith = i130:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (144) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (145) Obligation: Rules: f541_0_test_LE(i130:0:0) -> f541_0_test_LE(i130:0:0 - 1) :|: i130:0:0 > 0 ---------------------------------------- (146) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f541_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (147) Obligation: Rules: f541_0_test_LE(i130:0:0) -> f541_0_test_LE(c) :|: c = i130:0:0 - 1 && i130:0:0 > 0 ---------------------------------------- (148) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f541_0_test_LE ] = f541_0_test_LE_1 The following rules are decreasing: f541_0_test_LE(i130:0:0) -> f541_0_test_LE(c) :|: c = i130:0:0 - 1 && i130:0:0 > 0 The following rules are bounded: f541_0_test_LE(i130:0:0) -> f541_0_test_LE(c) :|: c = i130:0:0 - 1 && i130:0:0 > 0 ---------------------------------------- (149) YES ---------------------------------------- (150) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.test(I)V SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (151) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 6 IRulesP rules: f481_0_test_LE(EOS(STATIC_481), i114, i114) -> f487_0_test_LE(EOS(STATIC_487), i114, i114) :|: TRUE f487_0_test_LE(EOS(STATIC_487), i114, i114) -> f491_0_test_Inc(EOS(STATIC_491), i114) :|: i114 > 0 f491_0_test_Inc(EOS(STATIC_491), i114) -> f495_0_test_JMP(EOS(STATIC_495), i114 + -1) :|: TRUE f495_0_test_JMP(EOS(STATIC_495), i117) -> f518_0_test_Load(EOS(STATIC_518), i117) :|: TRUE f518_0_test_Load(EOS(STATIC_518), i117) -> f477_0_test_Load(EOS(STATIC_477), i117) :|: TRUE f477_0_test_Load(EOS(STATIC_477), i110) -> f481_0_test_LE(EOS(STATIC_481), i110, i110) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f481_0_test_LE(EOS(STATIC_481), i114:0, i114:0) -> f481_0_test_LE(EOS(STATIC_481), i114:0 - 1, i114:0 - 1) :|: i114:0 > 0 Filtered constant ground arguments: f481_0_test_LE(x1, x2, x3) -> f481_0_test_LE(x2, x3) EOS(x1) -> EOS Filtered duplicate arguments: f481_0_test_LE(x1, x2) -> f481_0_test_LE(x2) Finished conversion. Obtained 1 rules.P rules: f481_0_test_LE(i114:0) -> f481_0_test_LE(i114:0 - 1) :|: i114:0 > 0 ---------------------------------------- (152) Obligation: Rules: f481_0_test_LE(i114:0) -> f481_0_test_LE(i114:0 - 1) :|: i114:0 > 0 ---------------------------------------- (153) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (154) Obligation: Rules: f481_0_test_LE(i114:0) -> f481_0_test_LE(arith) :|: i114:0 > 0 && arith = i114:0 - 1 ---------------------------------------- (155) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f481_0_test_LE(i114:0) -> f481_0_test_LE(arith) :|: i114:0 > 0 && arith = i114:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (156) Obligation: Termination digraph: Nodes: (1) f481_0_test_LE(i114:0) -> f481_0_test_LE(arith) :|: i114:0 > 0 && arith = i114:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (157) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (158) Obligation: Rules: f481_0_test_LE(i114:0:0) -> f481_0_test_LE(i114:0:0 - 1) :|: i114:0:0 > 0 ---------------------------------------- (159) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f481_0_test_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (160) Obligation: Rules: f481_0_test_LE(i114:0:0) -> f481_0_test_LE(c) :|: c = i114:0:0 - 1 && i114:0:0 > 0 ---------------------------------------- (161) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f481_0_test_LE ] = f481_0_test_LE_1 The following rules are decreasing: f481_0_test_LE(i114:0:0) -> f481_0_test_LE(c) :|: c = i114:0:0 - 1 && i114:0:0 > 0 The following rules are bounded: f481_0_test_LE(i114:0:0) -> f481_0_test_LE(c) :|: c = i114:0:0 - 1 && i114:0:0 > 0 ---------------------------------------- (162) YES ---------------------------------------- (163) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Test9.main([Ljava/lang/String;)V SCC calls the following helper methods: Test9.test(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (164) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 29 IRulesP rules: f14_0_main_ConstantStackPush(EOS(STATIC_14), i4, i4) -> f16_0_main_Cmp(EOS(STATIC_16), i4, i4) :|: TRUE f16_0_main_Cmp(EOS(STATIC_16), i5, i5) -> f19_0_main_Cmp(EOS(STATIC_19), i5, i5) :|: TRUE f19_0_main_Cmp(EOS(STATIC_19), i5, i5) -> f35_0_main_LE(EOS(STATIC_35), i5, 1) :|: TRUE f35_0_main_LE(EOS(STATIC_35), i5, matching1) -> f39_0_main_Load(EOS(STATIC_39), i5) :|: 1 > 0 && matching1 = 1 f39_0_main_Load(EOS(STATIC_39), i5) -> f42_0_main_TypeCast(EOS(STATIC_42), i5, i5) :|: TRUE f42_0_main_TypeCast(EOS(STATIC_42), i5, i5) -> f43_0_main_Store(EOS(STATIC_43), i5, i10) :|: i10 = i5 f43_0_main_Store(EOS(STATIC_43), i5, i10) -> f44_0_main_Load(EOS(STATIC_44), i5, i10) :|: TRUE f44_0_main_Load(EOS(STATIC_44), i5, i10) -> f45_0_main_ConstantStackPush(EOS(STATIC_45), i5, i10, i10) :|: TRUE f45_0_main_ConstantStackPush(EOS(STATIC_45), i5, i10, i10) -> f46_0_main_GE(EOS(STATIC_46), i5, i10, i10, 100) :|: TRUE f46_0_main_GE(EOS(STATIC_46), i5, i11, i11, matching1) -> f48_0_main_GE(EOS(STATIC_48), i5, i11, i11, 100) :|: TRUE && matching1 = 100 f46_0_main_GE(EOS(STATIC_46), i5, i12, i12, matching1) -> f50_0_main_GE(EOS(STATIC_50), i5, i12, i12, 100) :|: TRUE && matching1 = 100 f48_0_main_GE(EOS(STATIC_48), i5, i11, i11, matching1) -> f51_0_main_Load(EOS(STATIC_51), i5, i11) :|: i11 < 100 && matching1 = 100 f51_0_main_Load(EOS(STATIC_51), i5, i11) -> f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) :|: TRUE f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) -> f57_0_test_Load(EOS(STATIC_57), i11, i11) :|: i11 >= 1 f53_0_main_InvokeMethod(EOS(STATIC_53), i5, i11, i11) -> f57_1_test_Load(EOS(STATIC_57), i5, i11, i11) :|: i11 >= 1 f57_0_test_Load(EOS(STATIC_57), i11, i11) -> f1601_0_test_Load(EOS(STATIC_1601), i11, i11) :|: TRUE f1347_0_test_Return(EOS(STATIC_1347), i5, i340) -> f1351_0_main_Inc(EOS(STATIC_1351), i5, i340) :|: TRUE f1351_0_main_Inc(EOS(STATIC_1351), i5, i340) -> f1353_0_main_JMP(EOS(STATIC_1353), i5, i340 + 1) :|: TRUE f1353_0_main_JMP(EOS(STATIC_1353), i5, i352) -> f1362_0_main_Load(EOS(STATIC_1362), i5, i352) :|: TRUE f1362_0_main_Load(EOS(STATIC_1362), i5, i352) -> f44_0_main_Load(EOS(STATIC_44), i5, i352) :|: TRUE f50_0_main_GE(EOS(STATIC_50), i5, i12, i12, matching1) -> f52_0_main_Load(EOS(STATIC_52), i5) :|: i12 >= 100 && matching1 = 100 f52_0_main_Load(EOS(STATIC_52), i5) -> f55_0_main_ConstantStackPush(EOS(STATIC_55), i5) :|: TRUE f55_0_main_ConstantStackPush(EOS(STATIC_55), i5) -> f60_0_main_IntArithmetic(EOS(STATIC_60), i5, 1) :|: TRUE f60_0_main_IntArithmetic(EOS(STATIC_60), i5, matching1) -> f71_0_main_Store(EOS(STATIC_71), i5 - 1) :|: i5 > 0 && matching1 = 1 f71_0_main_Store(EOS(STATIC_71), i16) -> f72_0_main_JMP(EOS(STATIC_72), i16) :|: TRUE f72_0_main_JMP(EOS(STATIC_72), i16) -> f104_0_main_Load(EOS(STATIC_104), i16) :|: TRUE f104_0_main_Load(EOS(STATIC_104), i16) -> f12_0_main_Load(EOS(STATIC_12), i16) :|: TRUE f12_0_main_Load(EOS(STATIC_12), i4) -> f14_0_main_ConstantStackPush(EOS(STATIC_14), i4, i4) :|: TRUE f57_1_test_Load(EOS(STATIC_57), i5, i340, i340) -> f1347_0_test_Return(EOS(STATIC_1347), i5, i340) :|: TRUE Combined rules. Obtained 3 IRulesP rules: f46_0_main_GE(EOS(STATIC_46), i5:0, i12:0, i12:0, 100) -> f46_0_main_GE(EOS(STATIC_46), i5:0 - 1, i5:0 - 1, i5:0 - 1, 100) :|: i5:0 > 0 && i12:0 > 99 f46_0_main_GE(EOS(STATIC_46), i5:0, i11:0, i11:0, 100) -> f46_0_main_GE(EOS(STATIC_46), i5:0, i11:0 + 1, i11:0 + 1, 100) :|: i11:0 > 0 && i11:0 < 100 Removed following non-SCC rules: f46_0_main_GE(EOS(STATIC_46), i5:0, i11:0, i11:0, 100) -> f1601_0_test_Load(EOS(STATIC_1601), i11:0, i11:0) :|: i11:0 > 0 && i11:0 < 100 Filtered constant ground arguments: f46_0_main_GE(x1, x2, x3, x4, x5) -> f46_0_main_GE(x2, x3, x4) EOS(x1) -> EOS Filtered duplicate arguments: f46_0_main_GE(x1, x2, x3) -> f46_0_main_GE(x1, x3) Finished conversion. Obtained 2 rules.P rules: f46_0_main_GE(i5:0, i12:0) -> f46_0_main_GE(i5:0 - 1, i5:0 - 1) :|: i5:0 > 0 && i12:0 > 99 f46_0_main_GE(i5:0, i11:0) -> f46_0_main_GE(i5:0, i11:0 + 1) :|: i11:0 > 0 && i11:0 < 100 ---------------------------------------- (165) Obligation: Rules: f46_0_main_GE(i5:0, i12:0) -> f46_0_main_GE(i5:0 - 1, i5:0 - 1) :|: i5:0 > 0 && i12:0 > 99 f46_0_main_GE(x, x1) -> f46_0_main_GE(x, x1 + 1) :|: x1 > 0 && x1 < 100 ---------------------------------------- (166) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (167) Obligation: Rules: f46_0_main_GE(i5:0, i12:0) -> f46_0_main_GE(arith, arith) :|: i5:0 > 0 && i12:0 > 99 && arith = i5:0 - 1 && arith = i5:0 - 1 f46_0_main_GE(x2, x3) -> f46_0_main_GE(x2, x4) :|: x3 > 0 && x3 < 100 && x4 = x3 + 1 ---------------------------------------- (168) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f46_0_main_GE(i5:0, i12:0) -> f46_0_main_GE(arith, arith) :|: i5:0 > 0 && i12:0 > 99 && arith = i5:0 - 1 && arith = i5:0 - 1 (2) f46_0_main_GE(x2, x3) -> f46_0_main_GE(x2, x4) :|: x3 > 0 && x3 < 100 && x4 = x3 + 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (169) Obligation: Termination digraph: Nodes: (1) f46_0_main_GE(i5:0, i12:0) -> f46_0_main_GE(arith, arith) :|: i5:0 > 0 && i12:0 > 99 && arith = i5:0 - 1 && arith = i5:0 - 1 (2) f46_0_main_GE(x2, x3) -> f46_0_main_GE(x2, x4) :|: x3 > 0 && x3 < 100 && x4 = x3 + 1 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (170) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (171) Obligation: Rules: f46_0_main_GE(i5:0:0, i12:0:0) -> f46_0_main_GE(i5:0:0 - 1, i5:0:0 - 1) :|: i5:0:0 > 0 && i12:0:0 > 99 f46_0_main_GE(x2:0, x3:0) -> f46_0_main_GE(x2:0, x3:0 + 1) :|: x3:0 > 0 && x3:0 < 100 ---------------------------------------- (172) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f46_0_main_GE(VARIABLE, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (173) Obligation: Rules: f46_0_main_GE(i5:0:0, i12:0:0) -> f46_0_main_GE(c, c1) :|: c1 = i5:0:0 - 1 && c = i5:0:0 - 1 && (i5:0:0 > 0 && i12:0:0 > 99) f46_0_main_GE(x2:0, x3:0) -> f46_0_main_GE(x2:0, c2) :|: c2 = x3:0 + 1 && (x3:0 > 0 && x3:0 < 100) ---------------------------------------- (174) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f46_0_main_GE(x, x1)] = -1 + x The following rules are decreasing: f46_0_main_GE(i5:0:0, i12:0:0) -> f46_0_main_GE(c, c1) :|: c1 = i5:0:0 - 1 && c = i5:0:0 - 1 && (i5:0:0 > 0 && i12:0:0 > 99) The following rules are bounded: f46_0_main_GE(i5:0:0, i12:0:0) -> f46_0_main_GE(c, c1) :|: c1 = i5:0:0 - 1 && c = i5:0:0 - 1 && (i5:0:0 > 0 && i12:0:0 > 99) ---------------------------------------- (175) Obligation: Rules: f46_0_main_GE(x2:0, x3:0) -> f46_0_main_GE(x2:0, c2) :|: c2 = x3:0 + 1 && (x3:0 > 0 && x3:0 < 100) ---------------------------------------- (176) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f46_0_main_GE ] = -1*f46_0_main_GE_2 The following rules are decreasing: f46_0_main_GE(x2:0, x3:0) -> f46_0_main_GE(x2:0, c2) :|: c2 = x3:0 + 1 && (x3:0 > 0 && x3:0 < 100) The following rules are bounded: f46_0_main_GE(x2:0, x3:0) -> f46_0_main_GE(x2:0, c2) :|: c2 = x3:0 + 1 && (x3:0 > 0 && x3:0 < 100) ---------------------------------------- (177) YES