YES Solver Timeout: 4 Global Timeout: 300 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.018032 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.036783 Checking conditional termination of SCC {l4, l7}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002133s 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.000783s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.007280s 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.009359s Time used: 0.009057 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.010044s Time used: 0.009321 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.006322s Time used: 0.005593 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.010709s Time used: 0.010175 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.048633s Time used: 0.047904 LOG: SAT solveNonLinear - Elapsed time: 0.048633s Cost: 0; Total time: 0.047904 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.000820s 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.000497s 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