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