11.01/4.11 YES 11.32/4.20 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 11.32/4.20 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 11.32/4.20 11.32/4.20 11.32/4.20 termination of the given Bare JBC problem could be proven: 11.32/4.20 11.32/4.20 (0) Bare JBC problem 11.32/4.20 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 11.32/4.20 (2) JBC problem 11.32/4.20 (3) JBCToGraph [EQUIVALENT, 325 ms] 11.32/4.20 (4) JBCTerminationGraph 11.32/4.20 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 11.32/4.20 (6) AND 11.32/4.20 (7) JBCTerminationSCC 11.32/4.20 (8) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (9) IRSwT 11.32/4.20 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (11) IRSwT 11.32/4.20 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (13) IRSwT 11.32/4.20 (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (15) IRSwT 11.32/4.20 (16) TempFilterProof [SOUND, 9 ms] 11.32/4.20 (17) IntTRS 11.32/4.20 (18) RankingReductionPairProof [EQUIVALENT, 4 ms] 11.32/4.20 (19) YES 11.32/4.20 (20) JBCTerminationSCC 11.32/4.20 (21) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (22) IRSwT 11.32/4.20 (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (24) IRSwT 11.32/4.20 (25) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (26) IRSwT 11.32/4.20 (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (28) IRSwT 11.32/4.20 (29) TempFilterProof [SOUND, 29 ms] 11.32/4.20 (30) IntTRS 11.32/4.20 (31) RankingReductionPairProof [EQUIVALENT, 17 ms] 11.32/4.20 (32) YES 11.32/4.20 (33) JBCTerminationSCC 11.32/4.20 (34) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (35) IRSwT 11.32/4.20 (36) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (37) IRSwT 11.32/4.20 (38) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] 11.32/4.20 (39) IRSwT 11.32/4.20 (40) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (41) IRSwT 11.32/4.20 (42) TempFilterProof [SOUND, 14 ms] 11.32/4.20 (43) IntTRS 11.32/4.20 (44) RankingReductionPairProof [EQUIVALENT, 6 ms] 11.32/4.20 (45) YES 11.32/4.20 (46) JBCTerminationSCC 11.32/4.20 (47) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (48) IRSwT 11.32/4.20 (49) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (50) IRSwT 11.32/4.20 (51) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (52) IRSwT 11.32/4.20 (53) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (54) IRSwT 11.32/4.20 (55) TempFilterProof [SOUND, 8 ms] 11.32/4.20 (56) IntTRS 11.32/4.20 (57) RankingReductionPairProof [EQUIVALENT, 0 ms] 11.32/4.20 (58) YES 11.32/4.20 (59) JBCTerminationSCC 11.32/4.20 (60) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (61) IRSwT 11.32/4.20 (62) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (63) IRSwT 11.32/4.20 (64) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (65) IRSwT 11.32/4.20 (66) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (67) IRSwT 11.32/4.20 (68) TempFilterProof [SOUND, 2 ms] 11.32/4.20 (69) IntTRS 11.32/4.20 (70) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 11.32/4.20 (71) YES 11.32/4.20 (72) JBCTerminationSCC 11.32/4.20 (73) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (74) IRSwT 11.32/4.20 (75) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (76) IRSwT 11.32/4.20 (77) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] 11.32/4.20 (78) IRSwT 11.32/4.20 (79) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (80) IRSwT 11.32/4.20 (81) TempFilterProof [SOUND, 4 ms] 11.32/4.20 (82) IntTRS 11.32/4.20 (83) RankingReductionPairProof [EQUIVALENT, 0 ms] 11.32/4.20 (84) YES 11.32/4.20 (85) JBCTerminationSCC 11.32/4.20 (86) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (87) IRSwT 11.32/4.20 (88) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (89) IRSwT 11.32/4.20 (90) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (91) IRSwT 11.32/4.20 (92) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (93) IRSwT 11.32/4.20 (94) TempFilterProof [SOUND, 2 ms] 11.32/4.20 (95) IntTRS 11.32/4.20 (96) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 11.32/4.20 (97) YES 11.32/4.20 (98) JBCTerminationSCC 11.32/4.20 (99) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (100) IRSwT 11.32/4.20 (101) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (102) IRSwT 11.32/4.20 (103) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (104) IRSwT 11.32/4.20 (105) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (106) IRSwT 11.32/4.20 (107) TempFilterProof [SOUND, 3 ms] 11.32/4.20 (108) IntTRS 11.32/4.20 (109) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 11.32/4.20 (110) YES 11.32/4.20 (111) JBCTerminationSCC 11.32/4.20 (112) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (113) IRSwT 11.32/4.20 (114) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (115) IRSwT 11.32/4.20 (116) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (117) IRSwT 11.32/4.20 (118) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (119) IRSwT 11.32/4.20 (120) TempFilterProof [SOUND, 8 ms] 11.32/4.20 (121) IntTRS 11.32/4.20 (122) RankingReductionPairProof [EQUIVALENT, 0 ms] 11.32/4.20 (123) YES 11.32/4.20 (124) JBCTerminationSCC 11.32/4.20 (125) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (126) IRSwT 11.32/4.20 (127) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (128) IRSwT 11.32/4.20 (129) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (130) IRSwT 11.32/4.20 (131) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (132) IRSwT 11.32/4.20 (133) TempFilterProof [SOUND, 17 ms] 11.32/4.20 (134) IntTRS 11.32/4.20 (135) RankingReductionPairProof [EQUIVALENT, 5 ms] 11.32/4.20 (136) YES 11.32/4.20 (137) JBCTerminationSCC 11.32/4.20 (138) SCCToIRSProof [SOUND, 15 ms] 11.32/4.20 (139) IRSwT 11.32/4.20 (140) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (141) IRSwT 11.32/4.20 (142) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (143) IRSwT 11.32/4.20 (144) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (145) IRSwT 11.32/4.20 (146) TempFilterProof [SOUND, 2 ms] 11.32/4.20 (147) IntTRS 11.32/4.20 (148) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 11.32/4.20 (149) YES 11.32/4.20 (150) JBCTerminationSCC 11.32/4.20 (151) SCCToIRSProof [SOUND, 0 ms] 11.32/4.20 (152) IRSwT 11.32/4.20 (153) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (154) IRSwT 11.32/4.20 (155) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 11.32/4.20 (156) IRSwT 11.32/4.20 (157) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (158) IRSwT 11.32/4.20 (159) TempFilterProof [SOUND, 3 ms] 11.32/4.20 (160) IntTRS 11.32/4.20 (161) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 11.32/4.20 (162) YES 11.32/4.20 (163) JBCTerminationSCC 11.32/4.20 (164) SCCToIRSProof [SOUND, 36 ms] 11.32/4.20 (165) IRSwT 11.32/4.20 (166) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 11.32/4.20 (167) IRSwT 11.32/4.20 (168) IRSwTTerminationDigraphProof [EQUIVALENT, 17 ms] 11.32/4.20 (169) IRSwT 11.32/4.20 (170) IntTRSCompressionProof [EQUIVALENT, 0 ms] 11.32/4.20 (171) IRSwT 11.32/4.20 (172) TempFilterProof [SOUND, 21 ms] 11.32/4.20 (173) IntTRS 11.32/4.20 (174) RankingReductionPairProof [EQUIVALENT, 0 ms] 11.32/4.20 (175) IntTRS 11.32/4.20 (176) RankingReductionPairProof [EQUIVALENT, 0 ms] 11.32/4.20 (177) YES 11.32/4.20 11.32/4.20 11.32/4.20 ---------------------------------------- 11.32/4.20 11.32/4.20 (0) 11.32/4.20 Obligation: 11.32/4.20 need to prove termination of the following program: 11.32/4.20 public class Test9 { 11.32/4.20 public static void main(String[] args) { 11.32/4.20 long l = args.length; 11.32/4.20 11.32/4.20 while (l > 0) { 11.32/4.20 for (int i = (int) l ; i < 100; i++) 11.32/4.20 test(i); 11.32/4.20 l--; 11.32/4.20 } 11.32/4.20 } 11.32/4.20 11.32/4.20 private static void test(int i) { 11.32/4.20 int j, k, l, m; 11.32/4.20 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 } 11.32/4.20 } 11.32/4.20 11.32/4.20 11.32/4.20 ---------------------------------------- 11.32/4.20 11.32/4.20 (1) BareJBCToJBCProof (EQUIVALENT) 11.32/4.20 initialized classpath 11.32/4.20 ---------------------------------------- 11.32/4.20 11.32/4.20 (2) 11.32/4.20 Obligation: 11.32/4.20 need to prove termination of the following program: 11.32/4.20 public class Test9 { 11.32/4.20 public static void main(String[] args) { 11.32/4.20 long l = args.length; 11.32/4.20 11.32/4.20 while (l > 0) { 11.32/4.20 for (int i = (int) l ; i < 100; i++) 11.32/4.20 test(i); 11.32/4.20 l--; 11.32/4.20 } 11.32/4.20 } 11.32/4.20 11.32/4.20 private static void test(int i) { 11.32/4.20 int j, k, l, m; 11.32/4.20 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 for (j = i; j > 0; j--); 11.32/4.20 for (k = i; k > 0; k--); 11.32/4.20 for (l = i; l > 0; l--); 11.32/4.20 for (m = i; m > 0; m--); 11.32/4.20 } 11.32/4.20 } 11.32/4.20 11.32/4.20 11.32/4.20 ---------------------------------------- 11.32/4.20 11.32/4.20 (3) JBCToGraph (EQUIVALENT) 11.32/4.20 Constructed TerminationGraph. 11.32/4.20 ---------------------------------------- 11.32/4.20 11.32/4.20 (4) 11.32/4.20 Obligation: 11.32/4.20 Termination Graph based on JBC Program: 11.32/4.20 Test9.main([Ljava/lang/String;)V: Graph of 36 nodes with 1 SCC. 11.38/4.23 11.38/4.23 11.38/4.23 11.38/4.23 Test9.test(I)V: Graph of 122 nodes with 12 SCCs. 11.38/4.23 11.38/4.23 11.38/4.23 11.38/4.23 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (5) TerminationGraphToSCCProof (SOUND) 11.38/4.23 Splitted TerminationGraph to 13 SCCss. 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (6) 11.38/4.23 Complex Obligation (AND) 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (7) 11.38/4.23 Obligation: 11.38/4.23 SCC of termination graph based on JBC Program. 11.38/4.23 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.23 SCC calls the following helper methods: 11.38/4.23 Performed SCC analyses: 11.38/4.23 *Used field analysis yielded the following read fields: 11.38/4.23 11.38/4.23 *Marker field analysis yielded the following relations that could be markers: 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (8) SCCToIRSProof (SOUND) 11.38/4.23 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.23 Generated rules. Obtained 6 IRulesP rules: 11.38/4.23 f1547_0_test_LE(EOS(STATIC_1547), i394, i394) -> f1551_0_test_LE(EOS(STATIC_1551), i394, i394) :|: TRUE 11.38/4.23 f1551_0_test_LE(EOS(STATIC_1551), i394, i394) -> f1556_0_test_Inc(EOS(STATIC_1556), i394) :|: i394 > 0 11.38/4.23 f1556_0_test_Inc(EOS(STATIC_1556), i394) -> f1562_0_test_JMP(EOS(STATIC_1562), i394 + -1) :|: TRUE 11.38/4.23 f1562_0_test_JMP(EOS(STATIC_1562), i396) -> f1675_0_test_Load(EOS(STATIC_1675), i396) :|: TRUE 11.38/4.23 f1675_0_test_Load(EOS(STATIC_1675), i396) -> f1543_0_test_Load(EOS(STATIC_1543), i396) :|: TRUE 11.38/4.23 f1543_0_test_Load(EOS(STATIC_1543), i391) -> f1547_0_test_LE(EOS(STATIC_1547), i391, i391) :|: TRUE 11.38/4.23 Combined rules. Obtained 1 IRulesP rules: 11.38/4.23 f1547_0_test_LE(EOS(STATIC_1547), i394:0, i394:0) -> f1547_0_test_LE(EOS(STATIC_1547), i394:0 - 1, i394:0 - 1) :|: i394:0 > 0 11.38/4.23 Filtered constant ground arguments: 11.38/4.23 f1547_0_test_LE(x1, x2, x3) -> f1547_0_test_LE(x2, x3) 11.38/4.23 EOS(x1) -> EOS 11.38/4.23 Filtered duplicate arguments: 11.38/4.23 f1547_0_test_LE(x1, x2) -> f1547_0_test_LE(x2) 11.38/4.23 Finished conversion. Obtained 1 rules.P rules: 11.38/4.23 f1547_0_test_LE(i394:0) -> f1547_0_test_LE(i394:0 - 1) :|: i394:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (9) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1547_0_test_LE(i394:0) -> f1547_0_test_LE(i394:0 - 1) :|: i394:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (10) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.23 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (11) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1547_0_test_LE(i394:0) -> f1547_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.23 Constructed termination digraph! 11.38/4.23 Nodes: 11.38/4.23 (1) f1547_0_test_LE(i394:0) -> f1547_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 11.38/4.23 11.38/4.23 Arcs: 11.38/4.23 (1) -> (1) 11.38/4.23 11.38/4.23 This digraph is fully evaluated! 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (13) 11.38/4.23 Obligation: 11.38/4.23 11.38/4.23 Termination digraph: 11.38/4.23 Nodes: 11.38/4.23 (1) f1547_0_test_LE(i394:0) -> f1547_0_test_LE(arith) :|: i394:0 > 0 && arith = i394:0 - 1 11.38/4.23 11.38/4.23 Arcs: 11.38/4.23 (1) -> (1) 11.38/4.23 11.38/4.23 This digraph is fully evaluated! 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (14) IntTRSCompressionProof (EQUIVALENT) 11.38/4.23 Compressed rules. 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (15) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1547_0_test_LE(i394:0:0) -> f1547_0_test_LE(i394:0:0 - 1) :|: i394:0:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (16) TempFilterProof (SOUND) 11.38/4.23 Used the following sort dictionary for filtering: 11.38/4.23 f1547_0_test_LE(INTEGER) 11.38/4.23 Replaced non-predefined constructor symbols by 0. 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (17) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1547_0_test_LE(i394:0:0) -> f1547_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (18) RankingReductionPairProof (EQUIVALENT) 11.38/4.23 Interpretation: 11.38/4.23 [ f1547_0_test_LE ] = f1547_0_test_LE_1 11.38/4.23 11.38/4.23 The following rules are decreasing: 11.38/4.23 f1547_0_test_LE(i394:0:0) -> f1547_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 11.38/4.23 11.38/4.23 The following rules are bounded: 11.38/4.23 f1547_0_test_LE(i394:0:0) -> f1547_0_test_LE(c) :|: c = i394:0:0 - 1 && i394:0:0 > 0 11.38/4.23 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (19) 11.38/4.23 YES 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (20) 11.38/4.23 Obligation: 11.38/4.23 SCC of termination graph based on JBC Program. 11.38/4.23 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.23 SCC calls the following helper methods: 11.38/4.23 Performed SCC analyses: 11.38/4.23 *Used field analysis yielded the following read fields: 11.38/4.23 11.38/4.23 *Marker field analysis yielded the following relations that could be markers: 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (21) SCCToIRSProof (SOUND) 11.38/4.23 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.23 Generated rules. Obtained 6 IRulesP rules: 11.38/4.23 f1386_0_test_LE(EOS(STATIC_1386), i361, i361) -> f1389_0_test_LE(EOS(STATIC_1389), i361, i361) :|: TRUE 11.38/4.23 f1389_0_test_LE(EOS(STATIC_1389), i361, i361) -> f1394_0_test_Inc(EOS(STATIC_1394), i361) :|: i361 > 0 11.38/4.23 f1394_0_test_Inc(EOS(STATIC_1394), i361) -> f1399_0_test_JMP(EOS(STATIC_1399), i361 + -1) :|: TRUE 11.38/4.23 f1399_0_test_JMP(EOS(STATIC_1399), i362) -> f1517_0_test_Load(EOS(STATIC_1517), i362) :|: TRUE 11.38/4.23 f1517_0_test_Load(EOS(STATIC_1517), i362) -> f1381_0_test_Load(EOS(STATIC_1381), i362) :|: TRUE 11.38/4.23 f1381_0_test_Load(EOS(STATIC_1381), i355) -> f1386_0_test_LE(EOS(STATIC_1386), i355, i355) :|: TRUE 11.38/4.23 Combined rules. Obtained 1 IRulesP rules: 11.38/4.23 f1386_0_test_LE(EOS(STATIC_1386), i361:0, i361:0) -> f1386_0_test_LE(EOS(STATIC_1386), i361:0 - 1, i361:0 - 1) :|: i361:0 > 0 11.38/4.23 Filtered constant ground arguments: 11.38/4.23 f1386_0_test_LE(x1, x2, x3) -> f1386_0_test_LE(x2, x3) 11.38/4.23 EOS(x1) -> EOS 11.38/4.23 Filtered duplicate arguments: 11.38/4.23 f1386_0_test_LE(x1, x2) -> f1386_0_test_LE(x2) 11.38/4.23 Finished conversion. Obtained 1 rules.P rules: 11.38/4.23 f1386_0_test_LE(i361:0) -> f1386_0_test_LE(i361:0 - 1) :|: i361:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (22) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1386_0_test_LE(i361:0) -> f1386_0_test_LE(i361:0 - 1) :|: i361:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (23) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.23 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (24) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1386_0_test_LE(i361:0) -> f1386_0_test_LE(arith) :|: i361:0 > 0 && arith = i361:0 - 1 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (25) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.23 Constructed termination digraph! 11.38/4.23 Nodes: 11.38/4.23 (1) f1386_0_test_LE(i361:0) -> f1386_0_test_LE(arith) :|: i361:0 > 0 && arith = i361:0 - 1 11.38/4.23 11.38/4.23 Arcs: 11.38/4.23 (1) -> (1) 11.38/4.23 11.38/4.23 This digraph is fully evaluated! 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (26) 11.38/4.23 Obligation: 11.38/4.23 11.38/4.23 Termination digraph: 11.38/4.23 Nodes: 11.38/4.23 (1) f1386_0_test_LE(i361:0) -> f1386_0_test_LE(arith) :|: i361:0 > 0 && arith = i361:0 - 1 11.38/4.23 11.38/4.23 Arcs: 11.38/4.23 (1) -> (1) 11.38/4.23 11.38/4.23 This digraph is fully evaluated! 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (27) IntTRSCompressionProof (EQUIVALENT) 11.38/4.23 Compressed rules. 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (28) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1386_0_test_LE(i361:0:0) -> f1386_0_test_LE(i361:0:0 - 1) :|: i361:0:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (29) TempFilterProof (SOUND) 11.38/4.23 Used the following sort dictionary for filtering: 11.38/4.23 f1386_0_test_LE(INTEGER) 11.38/4.23 Replaced non-predefined constructor symbols by 0. 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (30) 11.38/4.23 Obligation: 11.38/4.23 Rules: 11.38/4.23 f1386_0_test_LE(i361:0:0) -> f1386_0_test_LE(c) :|: c = i361:0:0 - 1 && i361:0:0 > 0 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (31) RankingReductionPairProof (EQUIVALENT) 11.38/4.23 Interpretation: 11.38/4.23 [ f1386_0_test_LE ] = f1386_0_test_LE_1 11.38/4.23 11.38/4.23 The following rules are decreasing: 11.38/4.23 f1386_0_test_LE(i361:0:0) -> f1386_0_test_LE(c) :|: c = i361:0:0 - 1 && i361:0:0 > 0 11.38/4.23 11.38/4.23 The following rules are bounded: 11.38/4.23 f1386_0_test_LE(i361:0:0) -> f1386_0_test_LE(c) :|: c = i361:0:0 - 1 && i361:0:0 > 0 11.38/4.23 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (32) 11.38/4.23 YES 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (33) 11.38/4.23 Obligation: 11.38/4.23 SCC of termination graph based on JBC Program. 11.38/4.23 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.23 SCC calls the following helper methods: 11.38/4.23 Performed SCC analyses: 11.38/4.23 *Used field analysis yielded the following read fields: 11.38/4.23 11.38/4.23 *Marker field analysis yielded the following relations that could be markers: 11.38/4.23 11.38/4.23 ---------------------------------------- 11.38/4.23 11.38/4.23 (34) SCCToIRSProof (SOUND) 11.38/4.23 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.23 Generated rules. Obtained 6 IRulesP rules: 11.38/4.23 f1278_0_test_LE(EOS(STATIC_1278), i325, i325) -> f1282_0_test_LE(EOS(STATIC_1282), i325, i325) :|: TRUE 11.38/4.23 f1282_0_test_LE(EOS(STATIC_1282), i325, i325) -> f1287_0_test_Inc(EOS(STATIC_1287), i325) :|: i325 > 0 11.38/4.24 f1287_0_test_Inc(EOS(STATIC_1287), i325) -> f1290_0_test_JMP(EOS(STATIC_1290), i325 + -1) :|: TRUE 11.38/4.24 f1290_0_test_JMP(EOS(STATIC_1290), i328) -> f1357_0_test_Load(EOS(STATIC_1357), i328) :|: TRUE 11.38/4.24 f1357_0_test_Load(EOS(STATIC_1357), i328) -> f1275_0_test_Load(EOS(STATIC_1275), i328) :|: TRUE 11.38/4.24 f1275_0_test_Load(EOS(STATIC_1275), i320) -> f1278_0_test_LE(EOS(STATIC_1278), i320, i320) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f1278_0_test_LE(EOS(STATIC_1278), i325:0, i325:0) -> f1278_0_test_LE(EOS(STATIC_1278), i325:0 - 1, i325:0 - 1) :|: i325:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f1278_0_test_LE(x1, x2, x3) -> f1278_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f1278_0_test_LE(x1, x2) -> f1278_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f1278_0_test_LE(i325:0) -> f1278_0_test_LE(i325:0 - 1) :|: i325:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (35) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1278_0_test_LE(i325:0) -> f1278_0_test_LE(i325:0 - 1) :|: i325:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (36) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (37) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1278_0_test_LE(i325:0) -> f1278_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (38) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f1278_0_test_LE(i325:0) -> f1278_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (39) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f1278_0_test_LE(i325:0) -> f1278_0_test_LE(arith) :|: i325:0 > 0 && arith = i325:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (40) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (41) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1278_0_test_LE(i325:0:0) -> f1278_0_test_LE(i325:0:0 - 1) :|: i325:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (42) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f1278_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (43) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1278_0_test_LE(i325:0:0) -> f1278_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (44) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f1278_0_test_LE ] = f1278_0_test_LE_1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f1278_0_test_LE(i325:0:0) -> f1278_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f1278_0_test_LE(i325:0:0) -> f1278_0_test_LE(c) :|: c = i325:0:0 - 1 && i325:0:0 > 0 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (45) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (46) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (47) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f1201_0_test_LE(EOS(STATIC_1201), i307, i307) -> f1213_0_test_LE(EOS(STATIC_1213), i307, i307) :|: TRUE 11.38/4.24 f1213_0_test_LE(EOS(STATIC_1213), i307, i307) -> f1217_0_test_Inc(EOS(STATIC_1217), i307) :|: i307 > 0 11.38/4.24 f1217_0_test_Inc(EOS(STATIC_1217), i307) -> f1222_0_test_JMP(EOS(STATIC_1222), i307 + -1) :|: TRUE 11.38/4.24 f1222_0_test_JMP(EOS(STATIC_1222), i312) -> f1253_0_test_Load(EOS(STATIC_1253), i312) :|: TRUE 11.38/4.24 f1253_0_test_Load(EOS(STATIC_1253), i312) -> f1197_0_test_Load(EOS(STATIC_1197), i312) :|: TRUE 11.38/4.24 f1197_0_test_Load(EOS(STATIC_1197), i300) -> f1201_0_test_LE(EOS(STATIC_1201), i300, i300) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f1201_0_test_LE(EOS(STATIC_1201), i307:0, i307:0) -> f1201_0_test_LE(EOS(STATIC_1201), i307:0 - 1, i307:0 - 1) :|: i307:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f1201_0_test_LE(x1, x2, x3) -> f1201_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f1201_0_test_LE(x1, x2) -> f1201_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f1201_0_test_LE(i307:0) -> f1201_0_test_LE(i307:0 - 1) :|: i307:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (48) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1201_0_test_LE(i307:0) -> f1201_0_test_LE(i307:0 - 1) :|: i307:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (49) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (50) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1201_0_test_LE(i307:0) -> f1201_0_test_LE(arith) :|: i307:0 > 0 && arith = i307:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (51) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f1201_0_test_LE(i307:0) -> f1201_0_test_LE(arith) :|: i307:0 > 0 && arith = i307:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (52) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f1201_0_test_LE(i307:0) -> f1201_0_test_LE(arith) :|: i307:0 > 0 && arith = i307:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (53) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (54) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1201_0_test_LE(i307:0:0) -> f1201_0_test_LE(i307:0:0 - 1) :|: i307:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (55) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f1201_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (56) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1201_0_test_LE(i307:0:0) -> f1201_0_test_LE(c) :|: c = i307:0:0 - 1 && i307:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (57) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f1201_0_test_LE ] = f1201_0_test_LE_1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f1201_0_test_LE(i307:0:0) -> f1201_0_test_LE(c) :|: c = i307:0:0 - 1 && i307:0:0 > 0 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f1201_0_test_LE(i307:0:0) -> f1201_0_test_LE(c) :|: c = i307:0:0 - 1 && i307:0:0 > 0 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (58) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (59) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (60) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f1141_0_test_LE(EOS(STATIC_1141), i287, i287) -> f1143_0_test_LE(EOS(STATIC_1143), i287, i287) :|: TRUE 11.38/4.24 f1143_0_test_LE(EOS(STATIC_1143), i287, i287) -> f1147_0_test_Inc(EOS(STATIC_1147), i287) :|: i287 > 0 11.38/4.24 f1147_0_test_Inc(EOS(STATIC_1147), i287) -> f1151_0_test_JMP(EOS(STATIC_1151), i287 + -1) :|: TRUE 11.38/4.24 f1151_0_test_JMP(EOS(STATIC_1151), i289) -> f1182_0_test_Load(EOS(STATIC_1182), i289) :|: TRUE 11.38/4.24 f1182_0_test_Load(EOS(STATIC_1182), i289) -> f1140_0_test_Load(EOS(STATIC_1140), i289) :|: TRUE 11.38/4.24 f1140_0_test_Load(EOS(STATIC_1140), i284) -> f1141_0_test_LE(EOS(STATIC_1141), i284, i284) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f1141_0_test_LE(EOS(STATIC_1141), i287:0, i287:0) -> f1141_0_test_LE(EOS(STATIC_1141), i287:0 - 1, i287:0 - 1) :|: i287:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f1141_0_test_LE(x1, x2, x3) -> f1141_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f1141_0_test_LE(x1, x2) -> f1141_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f1141_0_test_LE(i287:0) -> f1141_0_test_LE(i287:0 - 1) :|: i287:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (61) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1141_0_test_LE(i287:0) -> f1141_0_test_LE(i287:0 - 1) :|: i287:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (62) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (63) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1141_0_test_LE(i287:0) -> f1141_0_test_LE(arith) :|: i287:0 > 0 && arith = i287:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (64) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f1141_0_test_LE(i287:0) -> f1141_0_test_LE(arith) :|: i287:0 > 0 && arith = i287:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (65) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f1141_0_test_LE(i287:0) -> f1141_0_test_LE(arith) :|: i287:0 > 0 && arith = i287:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (66) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (67) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1141_0_test_LE(i287:0:0) -> f1141_0_test_LE(i287:0:0 - 1) :|: i287:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (68) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f1141_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (69) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1141_0_test_LE(i287:0:0) -> f1141_0_test_LE(c) :|: c = i287:0:0 - 1 && i287:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (70) PolynomialOrderProcessor (EQUIVALENT) 11.38/4.24 Found the following polynomial interpretation: 11.38/4.24 [f1141_0_test_LE(x)] = x 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f1141_0_test_LE(i287:0:0) -> f1141_0_test_LE(c) :|: c = i287:0:0 - 1 && i287:0:0 > 0 11.38/4.24 The following rules are bounded: 11.38/4.24 f1141_0_test_LE(i287:0:0) -> f1141_0_test_LE(c) :|: c = i287:0:0 - 1 && i287:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (71) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (72) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (73) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f1065_0_test_LE(EOS(STATIC_1065), i269, i269) -> f1067_0_test_LE(EOS(STATIC_1067), i269, i269) :|: TRUE 11.38/4.24 f1067_0_test_LE(EOS(STATIC_1067), i269, i269) -> f1069_0_test_Inc(EOS(STATIC_1069), i269) :|: i269 > 0 11.38/4.24 f1069_0_test_Inc(EOS(STATIC_1069), i269) -> f1071_0_test_JMP(EOS(STATIC_1071), i269 + -1) :|: TRUE 11.38/4.24 f1071_0_test_JMP(EOS(STATIC_1071), i270) -> f1115_0_test_Load(EOS(STATIC_1115), i270) :|: TRUE 11.38/4.24 f1115_0_test_Load(EOS(STATIC_1115), i270) -> f1064_0_test_Load(EOS(STATIC_1064), i270) :|: TRUE 11.38/4.24 f1064_0_test_Load(EOS(STATIC_1064), i267) -> f1065_0_test_LE(EOS(STATIC_1065), i267, i267) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f1065_0_test_LE(EOS(STATIC_1065), i269:0, i269:0) -> f1065_0_test_LE(EOS(STATIC_1065), i269:0 - 1, i269:0 - 1) :|: i269:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f1065_0_test_LE(x1, x2, x3) -> f1065_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f1065_0_test_LE(x1, x2) -> f1065_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f1065_0_test_LE(i269:0) -> f1065_0_test_LE(i269:0 - 1) :|: i269:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (74) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1065_0_test_LE(i269:0) -> f1065_0_test_LE(i269:0 - 1) :|: i269:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (75) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (76) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1065_0_test_LE(i269:0) -> f1065_0_test_LE(arith) :|: i269:0 > 0 && arith = i269:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (77) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f1065_0_test_LE(i269:0) -> f1065_0_test_LE(arith) :|: i269:0 > 0 && arith = i269:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (78) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f1065_0_test_LE(i269:0) -> f1065_0_test_LE(arith) :|: i269:0 > 0 && arith = i269:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (79) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (80) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1065_0_test_LE(i269:0:0) -> f1065_0_test_LE(i269:0:0 - 1) :|: i269:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (81) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f1065_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (82) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1065_0_test_LE(i269:0:0) -> f1065_0_test_LE(c) :|: c = i269:0:0 - 1 && i269:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (83) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f1065_0_test_LE ] = f1065_0_test_LE_1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f1065_0_test_LE(i269:0:0) -> f1065_0_test_LE(c) :|: c = i269:0:0 - 1 && i269:0:0 > 0 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f1065_0_test_LE(i269:0:0) -> f1065_0_test_LE(c) :|: c = i269:0:0 - 1 && i269:0:0 > 0 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (84) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (85) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (86) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f1009_0_test_LE(EOS(STATIC_1009), i252, i252) -> f1014_0_test_LE(EOS(STATIC_1014), i252, i252) :|: TRUE 11.38/4.24 f1014_0_test_LE(EOS(STATIC_1014), i252, i252) -> f1019_0_test_Inc(EOS(STATIC_1019), i252) :|: i252 > 0 11.38/4.24 f1019_0_test_Inc(EOS(STATIC_1019), i252) -> f1024_0_test_JMP(EOS(STATIC_1024), i252 + -1) :|: TRUE 11.38/4.24 f1024_0_test_JMP(EOS(STATIC_1024), i254) -> f1057_0_test_Load(EOS(STATIC_1057), i254) :|: TRUE 11.38/4.24 f1057_0_test_Load(EOS(STATIC_1057), i254) -> f1007_0_test_Load(EOS(STATIC_1007), i254) :|: TRUE 11.38/4.24 f1007_0_test_Load(EOS(STATIC_1007), i249) -> f1009_0_test_LE(EOS(STATIC_1009), i249, i249) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f1009_0_test_LE(EOS(STATIC_1009), i252:0, i252:0) -> f1009_0_test_LE(EOS(STATIC_1009), i252:0 - 1, i252:0 - 1) :|: i252:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f1009_0_test_LE(x1, x2, x3) -> f1009_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f1009_0_test_LE(x1, x2) -> f1009_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f1009_0_test_LE(i252:0) -> f1009_0_test_LE(i252:0 - 1) :|: i252:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (87) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1009_0_test_LE(i252:0) -> f1009_0_test_LE(i252:0 - 1) :|: i252:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (88) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (89) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1009_0_test_LE(i252:0) -> f1009_0_test_LE(arith) :|: i252:0 > 0 && arith = i252:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (90) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f1009_0_test_LE(i252:0) -> f1009_0_test_LE(arith) :|: i252:0 > 0 && arith = i252:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (91) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f1009_0_test_LE(i252:0) -> f1009_0_test_LE(arith) :|: i252:0 > 0 && arith = i252:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (92) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (93) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1009_0_test_LE(i252:0:0) -> f1009_0_test_LE(i252:0:0 - 1) :|: i252:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (94) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f1009_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (95) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f1009_0_test_LE(i252:0:0) -> f1009_0_test_LE(c) :|: c = i252:0:0 - 1 && i252:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (96) PolynomialOrderProcessor (EQUIVALENT) 11.38/4.24 Found the following polynomial interpretation: 11.38/4.24 [f1009_0_test_LE(x)] = x 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f1009_0_test_LE(i252:0:0) -> f1009_0_test_LE(c) :|: c = i252:0:0 - 1 && i252:0:0 > 0 11.38/4.24 The following rules are bounded: 11.38/4.24 f1009_0_test_LE(i252:0:0) -> f1009_0_test_LE(c) :|: c = i252:0:0 - 1 && i252:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (97) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (98) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (99) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f940_0_test_LE(EOS(STATIC_940), i238, i238) -> f944_0_test_LE(EOS(STATIC_944), i238, i238) :|: TRUE 11.38/4.24 f944_0_test_LE(EOS(STATIC_944), i238, i238) -> f948_0_test_Inc(EOS(STATIC_948), i238) :|: i238 > 0 11.38/4.24 f948_0_test_Inc(EOS(STATIC_948), i238) -> f954_0_test_JMP(EOS(STATIC_954), i238 + -1) :|: TRUE 11.38/4.24 f954_0_test_JMP(EOS(STATIC_954), i240) -> f983_0_test_Load(EOS(STATIC_983), i240) :|: TRUE 11.38/4.24 f983_0_test_Load(EOS(STATIC_983), i240) -> f937_0_test_Load(EOS(STATIC_937), i240) :|: TRUE 11.38/4.24 f937_0_test_Load(EOS(STATIC_937), i233) -> f940_0_test_LE(EOS(STATIC_940), i233, i233) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f940_0_test_LE(EOS(STATIC_940), i238:0, i238:0) -> f940_0_test_LE(EOS(STATIC_940), i238:0 - 1, i238:0 - 1) :|: i238:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f940_0_test_LE(x1, x2, x3) -> f940_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f940_0_test_LE(x1, x2) -> f940_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f940_0_test_LE(i238:0) -> f940_0_test_LE(i238:0 - 1) :|: i238:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (100) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f940_0_test_LE(i238:0) -> f940_0_test_LE(i238:0 - 1) :|: i238:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (101) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (102) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f940_0_test_LE(i238:0) -> f940_0_test_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (103) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f940_0_test_LE(i238:0) -> f940_0_test_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (104) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f940_0_test_LE(i238:0) -> f940_0_test_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (105) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (106) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f940_0_test_LE(i238:0:0) -> f940_0_test_LE(i238:0:0 - 1) :|: i238:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (107) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f940_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (108) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f940_0_test_LE(i238:0:0) -> f940_0_test_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (109) PolynomialOrderProcessor (EQUIVALENT) 11.38/4.24 Found the following polynomial interpretation: 11.38/4.24 [f940_0_test_LE(x)] = x 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f940_0_test_LE(i238:0:0) -> f940_0_test_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 11.38/4.24 The following rules are bounded: 11.38/4.24 f940_0_test_LE(i238:0:0) -> f940_0_test_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (110) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (111) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (112) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f864_0_test_LE(EOS(STATIC_864), i219, i219) -> f868_0_test_LE(EOS(STATIC_868), i219, i219) :|: TRUE 11.38/4.24 f868_0_test_LE(EOS(STATIC_868), i219, i219) -> f878_0_test_Inc(EOS(STATIC_878), i219) :|: i219 > 0 11.38/4.24 f878_0_test_Inc(EOS(STATIC_878), i219) -> f882_0_test_JMP(EOS(STATIC_882), i219 + -1) :|: TRUE 11.38/4.24 f882_0_test_JMP(EOS(STATIC_882), i222) -> f915_0_test_Load(EOS(STATIC_915), i222) :|: TRUE 11.38/4.24 f915_0_test_Load(EOS(STATIC_915), i222) -> f862_0_test_Load(EOS(STATIC_862), i222) :|: TRUE 11.38/4.24 f862_0_test_Load(EOS(STATIC_862), i211) -> f864_0_test_LE(EOS(STATIC_864), i211, i211) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f864_0_test_LE(EOS(STATIC_864), i219:0, i219:0) -> f864_0_test_LE(EOS(STATIC_864), i219:0 - 1, i219:0 - 1) :|: i219:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f864_0_test_LE(x1, x2, x3) -> f864_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f864_0_test_LE(x1, x2) -> f864_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f864_0_test_LE(i219:0) -> f864_0_test_LE(i219:0 - 1) :|: i219:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (113) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f864_0_test_LE(i219:0) -> f864_0_test_LE(i219:0 - 1) :|: i219:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (114) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (115) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f864_0_test_LE(i219:0) -> f864_0_test_LE(arith) :|: i219:0 > 0 && arith = i219:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (116) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f864_0_test_LE(i219:0) -> f864_0_test_LE(arith) :|: i219:0 > 0 && arith = i219:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (117) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f864_0_test_LE(i219:0) -> f864_0_test_LE(arith) :|: i219:0 > 0 && arith = i219:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (118) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (119) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f864_0_test_LE(i219:0:0) -> f864_0_test_LE(i219:0:0 - 1) :|: i219:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (120) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f864_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (121) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f864_0_test_LE(i219:0:0) -> f864_0_test_LE(c) :|: c = i219:0:0 - 1 && i219:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (122) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f864_0_test_LE ] = f864_0_test_LE_1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f864_0_test_LE(i219:0:0) -> f864_0_test_LE(c) :|: c = i219:0:0 - 1 && i219:0:0 > 0 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f864_0_test_LE(i219:0:0) -> f864_0_test_LE(c) :|: c = i219:0:0 - 1 && i219:0:0 > 0 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (123) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (124) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (125) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f794_0_test_LE(EOS(STATIC_794), i193, i193) -> f798_0_test_LE(EOS(STATIC_798), i193, i193) :|: TRUE 11.38/4.24 f798_0_test_LE(EOS(STATIC_798), i193, i193) -> f803_0_test_Inc(EOS(STATIC_803), i193) :|: i193 > 0 11.38/4.24 f803_0_test_Inc(EOS(STATIC_803), i193) -> f807_0_test_JMP(EOS(STATIC_807), i193 + -1) :|: TRUE 11.38/4.24 f807_0_test_JMP(EOS(STATIC_807), i196) -> f837_0_test_Load(EOS(STATIC_837), i196) :|: TRUE 11.38/4.24 f837_0_test_Load(EOS(STATIC_837), i196) -> f792_0_test_Load(EOS(STATIC_792), i196) :|: TRUE 11.38/4.24 f792_0_test_Load(EOS(STATIC_792), i188) -> f794_0_test_LE(EOS(STATIC_794), i188, i188) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f794_0_test_LE(EOS(STATIC_794), i193:0, i193:0) -> f794_0_test_LE(EOS(STATIC_794), i193:0 - 1, i193:0 - 1) :|: i193:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f794_0_test_LE(x1, x2, x3) -> f794_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f794_0_test_LE(x1, x2) -> f794_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f794_0_test_LE(i193:0) -> f794_0_test_LE(i193:0 - 1) :|: i193:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (126) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f794_0_test_LE(i193:0) -> f794_0_test_LE(i193:0 - 1) :|: i193:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (127) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (128) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f794_0_test_LE(i193:0) -> f794_0_test_LE(arith) :|: i193:0 > 0 && arith = i193:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (129) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f794_0_test_LE(i193:0) -> f794_0_test_LE(arith) :|: i193:0 > 0 && arith = i193:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (130) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f794_0_test_LE(i193:0) -> f794_0_test_LE(arith) :|: i193:0 > 0 && arith = i193:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (131) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (132) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f794_0_test_LE(i193:0:0) -> f794_0_test_LE(i193:0:0 - 1) :|: i193:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (133) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f794_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (134) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f794_0_test_LE(i193:0:0) -> f794_0_test_LE(c) :|: c = i193:0:0 - 1 && i193:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (135) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f794_0_test_LE ] = f794_0_test_LE_1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f794_0_test_LE(i193:0:0) -> f794_0_test_LE(c) :|: c = i193:0:0 - 1 && i193:0:0 > 0 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f794_0_test_LE(i193:0:0) -> f794_0_test_LE(c) :|: c = i193:0:0 - 1 && i193:0:0 > 0 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (136) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (137) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (138) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f732_0_test_LE(EOS(STATIC_732), i177, i177) -> f734_0_test_LE(EOS(STATIC_734), i177, i177) :|: TRUE 11.38/4.24 f734_0_test_LE(EOS(STATIC_734), i177, i177) -> f736_0_test_Inc(EOS(STATIC_736), i177) :|: i177 > 0 11.38/4.24 f736_0_test_Inc(EOS(STATIC_736), i177) -> f738_0_test_JMP(EOS(STATIC_738), i177 + -1) :|: TRUE 11.38/4.24 f738_0_test_JMP(EOS(STATIC_738), i178) -> f769_0_test_Load(EOS(STATIC_769), i178) :|: TRUE 11.38/4.24 f769_0_test_Load(EOS(STATIC_769), i178) -> f730_0_test_Load(EOS(STATIC_730), i178) :|: TRUE 11.38/4.24 f730_0_test_Load(EOS(STATIC_730), i174) -> f732_0_test_LE(EOS(STATIC_732), i174, i174) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f732_0_test_LE(EOS(STATIC_732), i177:0, i177:0) -> f732_0_test_LE(EOS(STATIC_732), i177:0 - 1, i177:0 - 1) :|: i177:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f732_0_test_LE(x1, x2, x3) -> f732_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f732_0_test_LE(x1, x2) -> f732_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f732_0_test_LE(i177:0) -> f732_0_test_LE(i177:0 - 1) :|: i177:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (139) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f732_0_test_LE(i177:0) -> f732_0_test_LE(i177:0 - 1) :|: i177:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (140) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (141) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f732_0_test_LE(i177:0) -> f732_0_test_LE(arith) :|: i177:0 > 0 && arith = i177:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (142) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f732_0_test_LE(i177:0) -> f732_0_test_LE(arith) :|: i177:0 > 0 && arith = i177:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (143) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f732_0_test_LE(i177:0) -> f732_0_test_LE(arith) :|: i177:0 > 0 && arith = i177:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (144) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (145) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f732_0_test_LE(i177:0:0) -> f732_0_test_LE(i177:0:0 - 1) :|: i177:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (146) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f732_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (147) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f732_0_test_LE(i177:0:0) -> f732_0_test_LE(c) :|: c = i177:0:0 - 1 && i177:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (148) PolynomialOrderProcessor (EQUIVALENT) 11.38/4.24 Found the following polynomial interpretation: 11.38/4.24 [f732_0_test_LE(x)] = x 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f732_0_test_LE(i177:0:0) -> f732_0_test_LE(c) :|: c = i177:0:0 - 1 && i177:0:0 > 0 11.38/4.24 The following rules are bounded: 11.38/4.24 f732_0_test_LE(i177:0:0) -> f732_0_test_LE(c) :|: c = i177:0:0 - 1 && i177:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (149) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (150) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.test(I)V 11.38/4.24 SCC calls the following helper methods: 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (151) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 6 IRulesP rules: 11.38/4.24 f649_0_test_LE(EOS(STATIC_649), i155, i155) -> f653_0_test_LE(EOS(STATIC_653), i155, i155) :|: TRUE 11.38/4.24 f653_0_test_LE(EOS(STATIC_653), i155, i155) -> f657_0_test_Inc(EOS(STATIC_657), i155) :|: i155 > 0 11.38/4.24 f657_0_test_Inc(EOS(STATIC_657), i155) -> f662_0_test_JMP(EOS(STATIC_662), i155 + -1) :|: TRUE 11.38/4.24 f662_0_test_JMP(EOS(STATIC_662), i159) -> f707_0_test_Load(EOS(STATIC_707), i159) :|: TRUE 11.38/4.24 f707_0_test_Load(EOS(STATIC_707), i159) -> f645_0_test_Load(EOS(STATIC_645), i159) :|: TRUE 11.38/4.24 f645_0_test_Load(EOS(STATIC_645), i150) -> f649_0_test_LE(EOS(STATIC_649), i150, i150) :|: TRUE 11.38/4.24 Combined rules. Obtained 1 IRulesP rules: 11.38/4.24 f649_0_test_LE(EOS(STATIC_649), i155:0, i155:0) -> f649_0_test_LE(EOS(STATIC_649), i155:0 - 1, i155:0 - 1) :|: i155:0 > 0 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f649_0_test_LE(x1, x2, x3) -> f649_0_test_LE(x2, x3) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f649_0_test_LE(x1, x2) -> f649_0_test_LE(x2) 11.38/4.24 Finished conversion. Obtained 1 rules.P rules: 11.38/4.24 f649_0_test_LE(i155:0) -> f649_0_test_LE(i155:0 - 1) :|: i155:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (152) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f649_0_test_LE(i155:0) -> f649_0_test_LE(i155:0 - 1) :|: i155:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (153) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (154) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f649_0_test_LE(i155:0) -> f649_0_test_LE(arith) :|: i155:0 > 0 && arith = i155:0 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (155) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f649_0_test_LE(i155:0) -> f649_0_test_LE(arith) :|: i155:0 > 0 && arith = i155:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (156) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f649_0_test_LE(i155:0) -> f649_0_test_LE(arith) :|: i155:0 > 0 && arith = i155:0 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (157) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (158) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f649_0_test_LE(i155:0:0) -> f649_0_test_LE(i155:0:0 - 1) :|: i155:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (159) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f649_0_test_LE(INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (160) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f649_0_test_LE(i155:0:0) -> f649_0_test_LE(c) :|: c = i155:0:0 - 1 && i155:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (161) PolynomialOrderProcessor (EQUIVALENT) 11.38/4.24 Found the following polynomial interpretation: 11.38/4.24 [f649_0_test_LE(x)] = x 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f649_0_test_LE(i155:0:0) -> f649_0_test_LE(c) :|: c = i155:0:0 - 1 && i155:0:0 > 0 11.38/4.24 The following rules are bounded: 11.38/4.24 f649_0_test_LE(i155:0:0) -> f649_0_test_LE(c) :|: c = i155:0:0 - 1 && i155:0:0 > 0 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (162) 11.38/4.24 YES 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (163) 11.38/4.24 Obligation: 11.38/4.24 SCC of termination graph based on JBC Program. 11.38/4.24 SCC contains nodes from the following methods: Test9.main([Ljava/lang/String;)V 11.38/4.24 SCC calls the following helper methods: Test9.test(I)V 11.38/4.24 Performed SCC analyses: 11.38/4.24 *Used field analysis yielded the following read fields: 11.38/4.24 11.38/4.24 *Marker field analysis yielded the following relations that could be markers: 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (164) SCCToIRSProof (SOUND) 11.38/4.24 Transformed FIGraph SCCs to intTRSs. Log: 11.38/4.24 Generated rules. Obtained 29 IRulesP rules: 11.38/4.24 f15_0_main_ConstantStackPush(EOS(STATIC_15), i4, i4) -> f16_0_main_Cmp(EOS(STATIC_16), i4, i4) :|: TRUE 11.38/4.24 f16_0_main_Cmp(EOS(STATIC_16), i6, i6) -> f20_0_main_Cmp(EOS(STATIC_20), i6, i6) :|: TRUE 11.38/4.24 f20_0_main_Cmp(EOS(STATIC_20), i6, i6) -> f32_0_main_LE(EOS(STATIC_32), i6, 1) :|: TRUE 11.38/4.24 f32_0_main_LE(EOS(STATIC_32), i6, matching1) -> f36_0_main_Load(EOS(STATIC_36), i6) :|: 1 > 0 && matching1 = 1 11.38/4.24 f36_0_main_Load(EOS(STATIC_36), i6) -> f38_0_main_TypeCast(EOS(STATIC_38), i6, i6) :|: TRUE 11.38/4.24 f38_0_main_TypeCast(EOS(STATIC_38), i6, i6) -> f39_0_main_Store(EOS(STATIC_39), i6, i10) :|: i10 = i6 11.38/4.24 f39_0_main_Store(EOS(STATIC_39), i6, i10) -> f40_0_main_Load(EOS(STATIC_40), i6, i10) :|: TRUE 11.38/4.24 f40_0_main_Load(EOS(STATIC_40), i6, i10) -> f42_0_main_ConstantStackPush(EOS(STATIC_42), i6, i10, i10) :|: TRUE 11.38/4.24 f42_0_main_ConstantStackPush(EOS(STATIC_42), i6, i10, i10) -> f43_0_main_GE(EOS(STATIC_43), i6, i10, i10, 100) :|: TRUE 11.38/4.24 f43_0_main_GE(EOS(STATIC_43), i6, i11, i11, matching1) -> f46_0_main_GE(EOS(STATIC_46), i6, i11, i11, 100) :|: TRUE && matching1 = 100 11.38/4.24 f43_0_main_GE(EOS(STATIC_43), i6, i12, i12, matching1) -> f47_0_main_GE(EOS(STATIC_47), i6, i12, i12, 100) :|: TRUE && matching1 = 100 11.38/4.24 f46_0_main_GE(EOS(STATIC_46), i6, i11, i11, matching1) -> f49_0_main_Load(EOS(STATIC_49), i6, i11) :|: i11 < 100 && matching1 = 100 11.38/4.24 f49_0_main_Load(EOS(STATIC_49), i6, i11) -> f53_0_main_InvokeMethod(EOS(STATIC_53), i6, i11, i11) :|: TRUE 11.38/4.24 f53_0_main_InvokeMethod(EOS(STATIC_53), i6, i11, i11) -> f55_0_test_Load(EOS(STATIC_55), i11, i11) :|: i11 >= 1 11.38/4.24 f53_0_main_InvokeMethod(EOS(STATIC_53), i6, i11, i11) -> f55_1_test_Load(EOS(STATIC_55), i6, i11, i11) :|: i11 >= 1 11.38/4.24 f55_0_test_Load(EOS(STATIC_55), i11, i11) -> f1947_0_test_Load(EOS(STATIC_1947), i11, i11) :|: TRUE 11.38/4.24 f1676_0_test_Return(EOS(STATIC_1676), i6, i417) -> f1679_0_main_Inc(EOS(STATIC_1679), i6, i417) :|: TRUE 11.38/4.24 f1679_0_main_Inc(EOS(STATIC_1679), i6, i417) -> f1683_0_main_JMP(EOS(STATIC_1683), i6, i417 + 1) :|: TRUE 11.38/4.24 f1683_0_main_JMP(EOS(STATIC_1683), i6, i429) -> f1691_0_main_Load(EOS(STATIC_1691), i6, i429) :|: TRUE 11.38/4.24 f1691_0_main_Load(EOS(STATIC_1691), i6, i429) -> f40_0_main_Load(EOS(STATIC_40), i6, i429) :|: TRUE 11.38/4.24 f47_0_main_GE(EOS(STATIC_47), i6, i12, i12, matching1) -> f51_0_main_Load(EOS(STATIC_51), i6) :|: i12 >= 100 && matching1 = 100 11.38/4.24 f51_0_main_Load(EOS(STATIC_51), i6) -> f54_0_main_ConstantStackPush(EOS(STATIC_54), i6) :|: TRUE 11.38/4.24 f54_0_main_ConstantStackPush(EOS(STATIC_54), i6) -> f56_0_main_IntArithmetic(EOS(STATIC_56), i6, 1) :|: TRUE 11.38/4.24 f56_0_main_IntArithmetic(EOS(STATIC_56), i6, matching1) -> f67_0_main_Store(EOS(STATIC_67), i6 - 1) :|: i6 > 0 && matching1 = 1 11.38/4.24 f67_0_main_Store(EOS(STATIC_67), i14) -> f69_0_main_JMP(EOS(STATIC_69), i14) :|: TRUE 11.38/4.24 f69_0_main_JMP(EOS(STATIC_69), i14) -> f97_0_main_Load(EOS(STATIC_97), i14) :|: TRUE 11.38/4.24 f97_0_main_Load(EOS(STATIC_97), i14) -> f14_0_main_Load(EOS(STATIC_14), i14) :|: TRUE 11.38/4.24 f14_0_main_Load(EOS(STATIC_14), i4) -> f15_0_main_ConstantStackPush(EOS(STATIC_15), i4, i4) :|: TRUE 11.38/4.24 f55_1_test_Load(EOS(STATIC_55), i6, i417, i417) -> f1676_0_test_Return(EOS(STATIC_1676), i6, i417) :|: TRUE 11.38/4.24 Combined rules. Obtained 3 IRulesP rules: 11.38/4.24 f43_0_main_GE(EOS(STATIC_43), i6:0, i11:0, i11:0, 100) -> f43_0_main_GE(EOS(STATIC_43), i6:0, i11:0 + 1, i11:0 + 1, 100) :|: i11:0 > 0 && i11:0 < 100 11.38/4.24 f43_0_main_GE(EOS(STATIC_43), i6:0, i12:0, i12:0, 100) -> f43_0_main_GE(EOS(STATIC_43), i6:0 - 1, i6:0 - 1, i6:0 - 1, 100) :|: i6:0 > 0 && i12:0 > 99 11.38/4.24 Removed following non-SCC rules: 11.38/4.24 f43_0_main_GE(EOS(STATIC_43), i6:0, i11:0, i11:0, 100) -> f1947_0_test_Load(EOS(STATIC_1947), i11:0, i11:0) :|: i11:0 > 0 && i11:0 < 100 11.38/4.24 Filtered constant ground arguments: 11.38/4.24 f43_0_main_GE(x1, x2, x3, x4, x5) -> f43_0_main_GE(x2, x3, x4) 11.38/4.24 EOS(x1) -> EOS 11.38/4.24 Filtered duplicate arguments: 11.38/4.24 f43_0_main_GE(x1, x2, x3) -> f43_0_main_GE(x1, x3) 11.38/4.24 Finished conversion. Obtained 2 rules.P rules: 11.38/4.24 f43_0_main_GE(i6:0, i11:0) -> f43_0_main_GE(i6:0, i11:0 + 1) :|: i11:0 > 0 && i11:0 < 100 11.38/4.24 f43_0_main_GE(i6:0, i12:0) -> f43_0_main_GE(i6:0 - 1, i6:0 - 1) :|: i6:0 > 0 && i12:0 > 99 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (165) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f43_0_main_GE(i6:0, i11:0) -> f43_0_main_GE(i6:0, i11:0 + 1) :|: i11:0 > 0 && i11:0 < 100 11.38/4.24 f43_0_main_GE(x, x1) -> f43_0_main_GE(x - 1, x - 1) :|: x > 0 && x1 > 99 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (166) IRSFormatTransformerProof (EQUIVALENT) 11.38/4.24 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (167) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f43_0_main_GE(i6:0, i11:0) -> f43_0_main_GE(i6:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 11.38/4.24 f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (168) IRSwTTerminationDigraphProof (EQUIVALENT) 11.38/4.24 Constructed termination digraph! 11.38/4.24 Nodes: 11.38/4.24 (1) f43_0_main_GE(i6:0, i11:0) -> f43_0_main_GE(i6:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 11.38/4.24 (2) f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1), (2) 11.38/4.24 (2) -> (1), (2) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (169) 11.38/4.24 Obligation: 11.38/4.24 11.38/4.24 Termination digraph: 11.38/4.24 Nodes: 11.38/4.24 (1) f43_0_main_GE(i6:0, i11:0) -> f43_0_main_GE(i6:0, arith) :|: i11:0 > 0 && i11:0 < 100 && arith = i11:0 + 1 11.38/4.24 (2) f43_0_main_GE(x2, x3) -> f43_0_main_GE(x4, x4) :|: x2 > 0 && x3 > 99 && x4 = x2 - 1 && x4 = x2 - 1 11.38/4.24 11.38/4.24 Arcs: 11.38/4.24 (1) -> (1), (2) 11.38/4.24 (2) -> (1), (2) 11.38/4.24 11.38/4.24 This digraph is fully evaluated! 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (170) IntTRSCompressionProof (EQUIVALENT) 11.38/4.24 Compressed rules. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (171) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f43_0_main_GE(i6:0:0, i11:0:0) -> f43_0_main_GE(i6:0:0, i11:0:0 + 1) :|: i11:0:0 > 0 && i11:0:0 < 100 11.38/4.24 f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(x2:0 - 1, x2:0 - 1) :|: x2:0 > 0 && x3:0 > 99 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (172) TempFilterProof (SOUND) 11.38/4.24 Used the following sort dictionary for filtering: 11.38/4.24 f43_0_main_GE(VARIABLE, INTEGER) 11.38/4.24 Replaced non-predefined constructor symbols by 0. 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (173) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f43_0_main_GE(i6:0:0, i11:0:0) -> f43_0_main_GE(i6:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) 11.38/4.24 f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (174) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f43_0_main_GE ] = 2*f43_0_main_GE_1 + 1 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f43_0_main_GE(x2:0, x3:0) -> f43_0_main_GE(c1, c2) :|: c2 = x2:0 - 1 && c1 = x2:0 - 1 && (x2:0 > 0 && x3:0 > 99) 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (175) 11.38/4.24 Obligation: 11.38/4.24 Rules: 11.38/4.24 f43_0_main_GE(i6:0:0, i11:0:0) -> f43_0_main_GE(i6:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (176) RankingReductionPairProof (EQUIVALENT) 11.38/4.24 Interpretation: 11.38/4.24 [ f43_0_main_GE ] = -1*f43_0_main_GE_2 11.38/4.24 11.38/4.24 The following rules are decreasing: 11.38/4.24 f43_0_main_GE(i6:0:0, i11:0:0) -> f43_0_main_GE(i6:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) 11.38/4.24 11.38/4.24 The following rules are bounded: 11.38/4.24 f43_0_main_GE(i6:0:0, i11:0:0) -> f43_0_main_GE(i6:0:0, c) :|: c = i11:0:0 + 1 && (i11:0:0 > 0 && i11:0:0 < 100) 11.38/4.24 11.38/4.24 11.38/4.24 ---------------------------------------- 11.38/4.24 11.38/4.24 (177) 11.38/4.24 YES 11.38/4.28 EOF