YES Solver Timeout: 4 Global Timeout: 60 No parsing errors! Init Location: 0 Transitions: (~(1) + a^0), b^0 -> (1 + b^0)}> (~(1) + i^0)}> (~(1) + a^0), b^0 -> (1 + b^0)}> undef60}> (~(1) + b^0), i^0 -> (~(1) + a^0)}> (0 + n^0), b^0 -> 0}> Fresh variables: undef60, Undef variables: undef60, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: (~(1) + a^0), b^0 -> (1 + b^0)}> (~(1) + a^0), b^0 -> (~(1) + (1 + b^0)), i^0 -> (~(1) + (~(1) + a^0))}> (~(1) + b^0), i^0 -> (~(1) + a^0)}> (~(1) + i^0)}> (~(1) + a^0), b^0 -> (1 + b^0), i^0 -> (~(1) + i^0)}> (~(1) + a^0), b^0 -> (1 + b^0), i^0 -> (~(1) + i^0)}> Fresh variables: undef60, Undef variables: undef60, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: -1 + a^0, b^0 -> 1 + b^0, rest remain the same}> -1 + a^0, i^0 -> -2 + a^0, rest remain the same}> -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> -1 + i^0, rest remain the same}> -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Variables: a^0, b^0, i^0 Graph 2: Transitions: Variables: Precedence: Graph 0 Graph 1 Graph 2 Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 2 ) ( 4 , 1 ) ( 7 , 1 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.041631 Some transition disabled by a set of invariant(s): Invariant at l4: 0 <= b^0 Invariant at l7: 0 <= b^0 Strengthening and disabling transitions... > It's unfeasible. Removing transition: -1 + a^0, b^0 -> 1 + b^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, i^0 -> -2 + a^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Checking unfeasibility... Time used: 0.082781 Checking conditional termination of SCC {l4, l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004525s Ranking function: -3 + 3*a^0 New Graphs: Transitions: -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> -1 + i^0, rest remain the same}> -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Variables: a^0, b^0, i^0 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001653s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.016127s Trying to remove transition: -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.020699s Time used: 0.020171 Trying to remove transition: -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.021706s Time used: 0.020393 Trying to remove transition: -1 + i^0, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.013482s Time used: 0.012149 Trying to remove transition: -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.023613s Time used: 0.022678 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.118009s Time used: 0.116638 LOG: SAT solveNonLinear - Elapsed time: 0.118009s Cost: 0; Total time: 0.116638 Termination implied by a set of invariant(s): Invariant at l4: 0 <= 1 + b^0 Invariant at l7: i^0 <= a^0 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, i^0 -> -2 + a^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): -1 + a^0, b^0 -> 1 + b^0, i^0 -> -1 + i^0, rest remain the same}> Ranking function: a^0 New Graphs: Transitions: -1 + b^0, i^0 -> -1 + a^0, rest remain the same}> -1 + i^0, rest remain the same}> Variables: a^0, b^0, i^0 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001741s Ranking function: -3 + 3*b^0 New Graphs: Transitions: -1 + i^0, rest remain the same}> Variables: a^0, b^0, i^0 Checking conditional termination of SCC {l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001081s Ranking function: -1 + i^0 New Graphs: INVARIANTS: 4: 0 <= 1 + b^0 , 7: i^0 <= a^0 , Quasi-INVARIANTS to narrow Graph: 4: 7: Proving termination of subgraph 2 Analyzing SCC {l2}... No cycles found. Program Terminates