YES Solver Timeout: 4 Global Timeout: 300 No parsing errors! Init Location: 0 Transitions: (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> undef3, oldX3^0 -> undef4, x0^0 -> (0 + undef3), x1^0 -> (0 + undef4)}> undef7, oldX1^0 -> undef8, x0^0 -> (0 + undef7), x1^0 -> (1 + undef8)}> (0 + x0^0), oldX1^0 -> undef14, oldX2^0 -> undef15, x0^0 -> (0 + undef14), x1^0 -> (0 + undef15)}> undef19, oldX1^0 -> undef20, x0^0 -> (0 + undef19), x1^0 -> (0 + undef20)}> undef25, oldX1^0 -> undef26, x0^0 -> (0 + undef25), x1^0 -> (0 + undef26)}> undef31, oldX1^0 -> (0 + x1^0), x0^0 -> (0 + undef31), x1^0 -> 0}> undef37, oldX1^0 -> (0 + x1^0), oldX2^0 -> undef39, x0^0 -> (0 + undef37), x1^0 -> (0 + undef39)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> undef45, oldX3^0 -> undef46, x0^0 -> (0 + undef45), x1^0 -> (0 + undef46)}> Fresh variables: undef3, undef4, undef7, undef8, undef14, undef15, undef19, undef20, undef25, undef26, undef31, undef37, undef39, undef45, undef46, Undef variables: undef3, undef4, undef7, undef8, undef14, undef15, undef19, undef20, undef25, undef26, undef31, undef37, undef39, undef45, undef46, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: (0 + undef45), x1^0 -> (0 + undef46)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef25), x1^0 -> (0 + undef26)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef25), x1^0 -> (0 + undef26)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef25), x1^0 -> (0 + undef26)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef25), x1^0 -> (0 + undef26)}> (0 + undef3), x1^0 -> (0 + undef4)}> (0 + undef25), x1^0 -> (0 + undef26)}> Fresh variables: undef3, undef4, undef7, undef8, undef14, undef15, undef19, undef20, undef25, undef26, undef31, undef37, undef39, undef45, undef46, Undef variables: undef3, undef4, undef7, undef8, undef14, undef15, undef19, undef20, undef25, undef26, undef31, undef37, undef39, undef45, undef46, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: undef25, x1^0 -> undef26, rest remain the same}> undef25, x1^0 -> undef26, rest remain the same}> Variables: x0^0, x1^0 Graph 2: Transitions: Variables: Graph 3: Transitions: Variables: Precedence: Graph 0 Graph 1 undef25, x1^0 -> undef26, rest remain the same}> undef25, x1^0 -> undef26, rest remain the same}> undef25, x1^0 -> undef26, rest remain the same}> Graph 2 undef3, x1^0 -> undef4, rest remain the same}> undef3, x1^0 -> undef4, rest remain the same}> undef3, x1^0 -> undef4, rest remain the same}> undef3, x1^0 -> undef4, rest remain the same}> undef3, x1^0 -> undef4, rest remain the same}> undef3, x1^0 -> undef4, rest remain the same}> Graph 3 undef45, x1^0 -> undef46, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 2 ) ( 3 , 1 ) ( 8 , 3 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.002829 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000802s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.005863s Trying to remove transition: undef25, x1^0 -> undef26, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.005936s Time used: 0.005554 Trying to remove transition: undef25, x1^0 -> undef26, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.005330s Time used: 0.00496 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009886s Time used: 0.009418 Improving Solution with cost 1 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.022788s Time used: 0.022786 LOG: SAT solveNonLinear - Elapsed time: 0.032674s Cost: 1; Total time: 0.032204 Failed at location 3: 1 + x1^0 <= x0^0 Before Improving: Quasi-invariant at l3: 1 + x1^0 <= x0^0 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004132s Remaining time after improvement: 0.998066 Termination implied by a set of quasi-invariant(s): Quasi-invariant at l3: 1 + x1^0 <= x0^0 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef25, x1^0 -> undef26, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef25, x1^0 -> undef26, 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): undef25, x1^0 -> undef26, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef25, x1^0 -> undef26, rest remain the same}> Ranking function: x0^0 New Graphs: Transitions: undef25, x1^0 -> undef26, rest remain the same}> Variables: x0^0, x1^0 Checking conditional termination of SCC {l3}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000575s Ranking function: -1 + x0^0 - x1^0 New Graphs: Calling Safety with literal 1 + x1^0 <= x0^0 and entry LOG: CALL check - Post:1 + x1^0 <= x0^0 - Process 1 * Exit transition: * Postcondition : 1 + x1^0 <= x0^0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000215s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000244s INVARIANTS: 3: Quasi-INVARIANTS to narrow Graph: 3: 1 + x1^0 <= x0^0 , It's unfeasible. Removing transition: undef25, x1^0 -> undef26, rest remain the same}> It's unfeasible. Removing transition: undef25, x1^0 -> undef26, rest remain the same}> invGraph after Narrowing: Transitions: Variables: x0^0, x1^0 Analyzing SCC {l3}... No cycles found. Proving termination of subgraph 2 Analyzing SCC {l2}... No cycles found. Proving termination of subgraph 3 Analyzing SCC {l8}... No cycles found. Program Terminates