5.51/2.37 YES 5.62/2.38 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 5.62/2.38 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.62/2.38 5.62/2.38 5.62/2.38 termination of the given Bare JBC problem could be proven: 5.62/2.38 5.62/2.38 (0) Bare JBC problem 5.62/2.38 (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] 5.62/2.38 (2) JBC problem 5.62/2.38 (3) JBCToGraph [EQUIVALENT, 333 ms] 5.62/2.38 (4) JBCTerminationGraph 5.62/2.38 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 5.62/2.38 (6) TRUE 5.62/2.38 5.62/2.38 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (0) 5.62/2.38 Obligation: 5.62/2.38 need to prove termination of the following program: 5.62/2.38 /** 5.62/2.38 * An example of nested iterations. 5.62/2.38 * 5.62/2.38 * All calls terminate. 5.62/2.38 * 5.62/2.38 * Julia + BinTerm prove that all calls terminate 5.62/2.38 * 5.62/2.38 * @author Fausto Spoto 5.62/2.38 */ 5.62/2.38 5.62/2.38 public class Nested { 5.62/2.38 public static void main(String[] args) { 5.62/2.38 for (int i = 0; i < 10; i++) 5.62/2.38 for (int j = 3; j < 12; j += 2) { 5.62/2.38 j -= 1; 5.62/2.38 } 5.62/2.38 } 5.62/2.38 } 5.62/2.38 5.62/2.38 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (1) BareJBCToJBCProof (EQUIVALENT) 5.62/2.38 initialized classpath 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (2) 5.62/2.38 Obligation: 5.62/2.38 need to prove termination of the following program: 5.62/2.38 /** 5.62/2.38 * An example of nested iterations. 5.62/2.38 * 5.62/2.38 * All calls terminate. 5.62/2.38 * 5.62/2.38 * Julia + BinTerm prove that all calls terminate 5.62/2.38 * 5.62/2.38 * @author Fausto Spoto 5.62/2.38 */ 5.62/2.38 5.62/2.38 public class Nested { 5.62/2.38 public static void main(String[] args) { 5.62/2.38 for (int i = 0; i < 10; i++) 5.62/2.38 for (int j = 3; j < 12; j += 2) { 5.62/2.38 j -= 1; 5.62/2.38 } 5.62/2.38 } 5.62/2.38 } 5.62/2.38 5.62/2.38 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (3) JBCToGraph (EQUIVALENT) 5.62/2.38 Constructed TerminationGraph. 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (4) 5.62/2.38 Obligation: 5.62/2.38 Termination Graph based on JBC Program: 5.62/2.38 Nested.main([Ljava/lang/String;)V: Graph of 647 nodes with 0 SCCs. 5.62/2.38 5.62/2.38 5.62/2.38 5.62/2.38 5.62/2.38 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (5) TerminationGraphToSCCProof (SOUND) 5.62/2.38 Proven termination by absence of SCCs 5.62/2.38 ---------------------------------------- 5.62/2.38 5.62/2.38 (6) 5.62/2.38 TRUE 5.62/2.41 EOF