3.80/1.80 YES
3.80/1.81 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar
3.80/1.81 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty
3.80/1.81
3.80/1.81
3.80/1.81 termination of the given Bare JBC problem could be proven:
3.80/1.81
3.80/1.81 (0) Bare JBC problem
3.80/1.81 (1) BareJBCToJBCProof [EQUIVALENT, 94 ms]
3.80/1.81 (2) JBC problem
3.80/1.81 (3) JBCToGraph [EQUIVALENT, 147 ms]
3.80/1.81 (4) JBCTerminationGraph
3.80/1.81 (5) TerminationGraphToSCCProof [SOUND, 0 ms]
3.80/1.81 (6) TRUE
3.80/1.81
3.80/1.81
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (0)
3.80/1.81 Obligation:
3.80/1.81 need to prove termination of the following program:
3.80/1.81 /**
3.80/1.81 * A loop whose termination depends on a break statement.
3.80/1.81 *
3.80/1.81 * All calls terminate.
3.80/1.81 *
3.80/1.81 * Julia + BinTerm prove that all calls terminate
3.80/1.81 *
3.80/1.81 * @author Fausto Spoto
3.80/1.81 */
3.80/1.81
3.80/1.81 public class Break {
3.80/1.81
3.80/1.81 public static void main(String[] args) {
3.80/1.81 int i = 0;
3.80/1.81
3.80/1.81 while (true) {
3.80/1.81 if (i > 10) break;
3.80/1.81 i++;
3.80/1.81 }
3.80/1.81 }
3.80/1.81 }
3.80/1.81
3.80/1.81
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (1) BareJBCToJBCProof (EQUIVALENT)
3.80/1.81 initialized classpath
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (2)
3.80/1.81 Obligation:
3.80/1.81 need to prove termination of the following program:
3.80/1.81 /**
3.80/1.81 * A loop whose termination depends on a break statement.
3.80/1.81 *
3.80/1.81 * All calls terminate.
3.80/1.81 *
3.80/1.81 * Julia + BinTerm prove that all calls terminate
3.80/1.81 *
3.80/1.81 * @author Fausto Spoto
3.80/1.81 */
3.80/1.81
3.80/1.81 public class Break {
3.80/1.81
3.80/1.81 public static void main(String[] args) {
3.80/1.81 int i = 0;
3.80/1.81
3.80/1.81 while (true) {
3.80/1.81 if (i > 10) break;
3.80/1.81 i++;
3.80/1.81 }
3.80/1.81 }
3.80/1.81 }
3.80/1.81
3.80/1.81
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (3) JBCToGraph (EQUIVALENT)
3.80/1.81 Constructed TerminationGraph.
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (4)
3.80/1.81 Obligation:
3.80/1.81 Termination Graph based on JBC Program:
3.80/1.81 Break.main([Ljava/lang/String;)V: Graph of 63 nodes with 0 SCCs.
3.80/1.81
3.80/1.81
3.80/1.81
3.80/1.81
3.80/1.81
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (5) TerminationGraphToSCCProof (SOUND)
3.80/1.81 Proven termination by absence of SCCs
3.80/1.81 ----------------------------------------
3.80/1.81
3.80/1.81 (6)
3.80/1.81 TRUE
3.86/1.83 EOF