YES Solver Timeout: 4 Global Timeout: 300 No parsing errors! Init Location: 0 Transitions: (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> (0 + x2^0), oldX3^0 -> undef4, oldX4^0 -> undef5, oldX5^0 -> undef6, x0^0 -> (0 + undef4), x1^0 -> (0 + undef5), x2^0 -> (0 + undef6)}> undef11, oldX1^0 -> undef12, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef14, x0^0 -> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> (0 + x2^0), oldX3^0 -> undef24, oldX4^0 -> undef25, oldX5^0 -> undef26, x0^0 -> (0 + undef24), x1^0 -> (0 + undef25), x2^0 -> (0 + undef26)}> undef31, oldX1^0 -> undef32, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef34, x0^0 -> (0 + undef31), x1^0 -> (0 + undef32), x2^0 -> (0 + undef34)}> undef41, oldX1^0 -> undef42, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef44, x0^0 -> (0 + undef41), x1^0 -> (0 + undef42), x2^0 -> (0 + undef44)}> undef51, oldX1^0 -> undef52, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef54, x0^0 -> (0 + undef51), x1^0 -> (0 + undef52), x2^0 -> (0 + undef54)}> undef61, oldX1^0 -> undef62, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef64, x0^0 -> (0 + undef61), x1^0 -> (0 + undef62), x2^0 -> (0 + undef64)}> undef71, oldX1^0 -> undef72, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef74, x0^0 -> (0 + undef71), x1^0 -> (0 + undef72), x2^0 -> (0 + undef74)}> undef81, oldX1^0 -> undef82, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef84, x0^0 -> (0 + undef81), x1^0 -> (0 + undef82), x2^0 -> (0 + undef84)}> undef91, oldX1^0 -> undef92, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef94, x0^0 -> (0 + undef91), x1^0 -> (0 + undef92), x2^0 -> (0 + undef94)}> undef101, oldX1^0 -> undef102, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef104, x0^0 -> (0 + undef101), x1^0 -> (0 + undef102), x2^0 -> (0 + undef104)}> undef111, oldX1^0 -> undef112, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef114, x0^0 -> (0 + undef111), x1^0 -> (0 + undef112), x2^0 -> (0 + undef114)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> undef123, oldX3^0 -> undef124, oldX4^0 -> undef125, oldX5^0 -> undef126, oldX6^0 -> undef127, x0^0 -> (0 + undef124), x1^0 -> (0 + undef125), x2^0 -> (0 + undef126)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> undef133, oldX3^0 -> undef134, oldX4^0 -> undef135, oldX5^0 -> undef136, oldX6^0 -> undef137, x0^0 -> (0 + undef134), x1^0 -> (0 + undef135), x2^0 -> (0 + undef136)}> undef141, oldX1^0 -> undef142, oldX2^0 -> undef143, oldX3^0 -> undef144, x0^0 -> (0 + undef141), x1^0 -> (0 + undef142), x2^0 -> (0 + undef144)}> undef151, oldX1^0 -> undef152, oldX2^0 -> undef153, x0^0 -> (0 + undef151), x1^0 -> (0 + undef152), x2^0 -> (0 + undef153)}> undef161, oldX1^0 -> undef162, oldX2^0 -> undef163, oldX3^0 -> undef164, x0^0 -> (0 + undef161), x1^0 -> (0 + undef162), x2^0 -> (0 + undef163)}> undef171, oldX1^0 -> undef172, oldX2^0 -> undef173, oldX3^0 -> undef174, x0^0 -> (0 + undef171), x1^0 -> (0 + undef172), x2^0 -> (0 + undef173)}> undef181, oldX1^0 -> undef182, oldX2^0 -> undef183, oldX3^0 -> undef184, x0^0 -> (0 + undef181), x1^0 -> (0 + undef182), x2^0 -> (0 + undef183)}> undef191, oldX1^0 -> undef192, oldX2^0 -> undef193, oldX3^0 -> undef194, x0^0 -> (0 + undef191), x1^0 -> (0 + undef192), x2^0 -> (0 + undef194)}> undef201, oldX1^0 -> undef202, oldX2^0 -> undef203, x0^0 -> (0 + undef201), x1^0 -> (0 + undef202), x2^0 -> (0 + undef203)}> (0 + x0^0), oldX1^0 -> (0 + x1^0), oldX2^0 -> (0 + x2^0), oldX3^0 -> undef214, oldX4^0 -> undef215, oldX5^0 -> undef216, x0^0 -> (0 + undef214), x1^0 -> (0 + undef215), x2^0 -> (0 + undef216)}> undef221, oldX1^0 -> undef222, oldX2^0 -> (0 + x2^0), x0^0 -> (0 + undef221), x1^0 -> (0 + undef222), x2^0 -> (0 + undef222)}> undef231, oldX1^0 -> undef232, oldX2^0 -> (0 + x2^0), x0^0 -> (0 + undef231), x1^0 -> (0 + undef232), x2^0 -> (0 + undef232)}> undef241, oldX1^0 -> undef242, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef244, x0^0 -> (0 + undef241), x1^0 -> (0 + undef242), x2^0 -> (0 + undef244)}> undef251, oldX1^0 -> undef252, oldX2^0 -> (0 + x2^0), oldX3^0 -> undef254, x0^0 -> (0 + undef251), x1^0 -> (0 + undef252), x2^0 -> (0 + undef254)}> Fresh variables: undef4, undef5, undef6, undef11, undef12, undef14, undef24, undef25, undef26, undef31, undef32, undef34, undef41, undef42, undef44, undef51, undef52, undef54, undef61, undef62, undef64, undef71, undef72, undef74, undef81, undef82, undef84, undef91, undef92, undef94, undef101, undef102, undef104, undef111, undef112, undef114, undef123, undef124, undef125, undef126, undef127, undef133, undef134, undef135, undef136, undef137, undef141, undef142, undef143, undef144, undef151, undef152, undef153, undef161, undef162, undef163, undef164, undef171, undef172, undef173, undef174, undef181, undef182, undef183, undef184, undef191, undef192, undef193, undef194, undef201, undef202, undef203, undef214, undef215, undef216, undef221, undef222, undef231, undef232, undef241, undef242, undef244, undef251, undef252, undef254, Undef variables: undef4, undef5, undef6, undef11, undef12, undef14, undef24, undef25, undef26, undef31, undef32, undef34, undef41, undef42, undef44, undef51, undef52, undef54, undef61, undef62, undef64, undef71, undef72, undef74, undef81, undef82, undef84, undef91, undef92, undef94, undef101, undef102, undef104, undef111, undef112, undef114, undef123, undef124, undef125, undef126, undef127, undef133, undef134, undef135, undef136, undef137, undef141, undef142, undef143, undef144, undef151, undef152, undef153, undef161, undef162, undef163, undef164, undef171, undef172, undef173, undef174, undef181, undef182, undef183, undef184, undef191, undef192, undef193, undef194, undef201, undef202, undef203, undef214, undef215, undef216, undef221, undef222, undef231, undef232, undef241, undef242, undef244, undef251, undef252, undef254, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: (0 + undef91), x1^0 -> (0 + undef92), x2^0 -> (0 + undef94)}> (0 + undef101), x1^0 -> (0 + undef102), x2^0 -> (0 + undef104)}> (0 + undef4), x1^0 -> (0 + undef5), x2^0 -> (0 + undef6)}> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + undef24), x1^0 -> (0 + undef25), x2^0 -> (0 + undef26)}> (0 + undef91), x1^0 -> (0 + undef92), x2^0 -> (0 + undef94)}> (0 + undef101), x1^0 -> (0 + undef102), x2^0 -> (0 + undef104)}> (0 + undef91), x1^0 -> (0 + undef92), x2^0 -> (0 + undef94)}> (0 + undef101), x1^0 -> (0 + undef102), x2^0 -> (0 + undef104)}> (0 + undef151), x1^0 -> (0 + undef152), x2^0 -> (0 + undef153)}> (0 + undef214), x1^0 -> (0 + undef215), x2^0 -> (0 + undef216)}> (0 + undef221), x1^0 -> (0 + undef222), x2^0 -> (0 + undef222)}> (0 + undef231), x1^0 -> (0 + undef232), x2^0 -> (0 + undef232)}> (0 + undef214), x1^0 -> (0 + undef215), x2^0 -> (0 + undef216)}> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + undef4), x1^0 -> (0 + undef5), x2^0 -> (0 + undef6)}> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + undef11), x1^0 -> (0 + undef12), x2^0 -> (0 + undef14)}> (0 + undef24), x1^0 -> (0 + undef25), x2^0 -> (0 + undef26)}> (0 + undef124), x1^0 -> (0 + undef125), x2^0 -> (0 + undef126)}> (0 + undef134), x1^0 -> (0 + undef135), x2^0 -> (0 + undef136)}> (0 + undef141), x1^0 -> (0 + undef142), x2^0 -> (0 + undef144)}> (0 + undef24), x1^0 -> (0 + undef25), x2^0 -> (0 + undef26)}> (0 + undef201), x1^0 -> (0 + undef202), x2^0 -> (0 + undef203)}> (0 + undef161), x1^0 -> (0 + undef162), x2^0 -> (0 + undef163)}> (0 + undef171), x1^0 -> (0 + undef172), x2^0 -> (0 + undef173)}> (0 + undef151), x1^0 -> (0 + undef152), x2^0 -> (0 + undef153)}> Fresh variables: undef4, undef5, undef6, undef11, undef12, undef14, undef24, undef25, undef26, undef31, undef32, undef34, undef41, undef42, undef44, undef51, undef52, undef54, undef61, undef62, undef64, undef71, undef72, undef74, undef81, undef82, undef84, undef91, undef92, undef94, undef101, undef102, undef104, undef111, undef112, undef114, undef123, undef124, undef125, undef126, undef127, undef133, undef134, undef135, undef136, undef137, undef141, undef142, undef143, undef144, undef151, undef152, undef153, undef161, undef162, undef163, undef164, undef171, undef172, undef173, undef174, undef181, undef182, undef183, undef184, undef191, undef192, undef193, undef194, undef201, undef202, undef203, undef214, undef215, undef216, undef221, undef222, undef231, undef232, undef241, undef242, undef244, undef251, undef252, undef254, Undef variables: undef4, undef5, undef6, undef11, undef12, undef14, undef24, undef25, undef26, undef31, undef32, undef34, undef41, undef42, undef44, undef51, undef52, undef54, undef61, undef62, undef64, undef71, undef72, undef74, undef81, undef82, undef84, undef91, undef92, undef94, undef101, undef102, undef104, undef111, undef112, undef114, undef123, undef124, undef125, undef126, undef127, undef133, undef134, undef135, undef136, undef137, undef141, undef142, undef143, undef144, undef151, undef152, undef153, undef161, undef162, undef163, undef164, undef171, undef172, undef173, undef174, undef181, undef182, undef183, undef184, undef191, undef192, undef193, undef194, undef201, undef202, undef203, undef214, undef215, undef216, undef221, undef222, undef231, undef232, undef241, undef242, undef244, undef251, undef252, undef254, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: Variables: Graph 2: Transitions: Variables: Graph 3: Transitions: Variables: Graph 4: Transitions: undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> undef201, x1^0 -> undef202, x2^0 -> undef203, rest remain the same}> undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> Variables: x0^0, x1^0, x2^0 Graph 5: Transitions: Variables: Precedence: Graph 0 Graph 1 undef101, x1^0 -> undef102, x2^0 -> undef104, rest remain the same}> undef101, x1^0 -> undef102, x2^0 -> undef104, rest remain the same}> undef101, x1^0 -> undef102, x2^0 -> undef104, rest remain the same}> Graph 2 undef91, x1^0 -> undef92, x2^0 -> undef94, rest remain the same}> undef91, x1^0 -> undef92, x2^0 -> undef94, rest remain the same}> undef91, x1^0 -> undef92, x2^0 -> undef94, rest remain the same}> Graph 3 undef11, x1^0 -> undef12, x2^0 -> undef14, rest remain the same}> undef11, x1^0 -> undef12, x2^0 -> undef14, rest remain the same}> undef11, x1^0 -> undef12, x2^0 -> undef14, rest remain the same}> undef11, x1^0 -> undef12, x2^0 -> undef14, rest remain the same}> undef11, x1^0 -> undef12, x2^0 -> undef14, rest remain the same}> Graph 4 undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> undef221, x1^0 -> undef222, x2^0 -> undef222, rest remain the same}> undef231, x1^0 -> undef232, x2^0 -> undef232, rest remain the same}> Graph 5 undef4, x1^0 -> undef5, x2^0 -> undef6, rest remain the same}> undef24, x1^0 -> undef25, x2^0 -> undef26, rest remain the same}> undef214, x1^0 -> undef215, x2^0 -> undef216, rest remain the same}> undef214, x1^0 -> undef215, x2^0 -> undef216, rest remain the same}> undef4, x1^0 -> undef5, x2^0 -> undef6, rest remain the same}> undef24, x1^0 -> undef25, x2^0 -> undef26, rest remain the same}> undef124, x1^0 -> undef125, x2^0 -> undef126, rest remain the same}> undef134, x1^0 -> undef135, x2^0 -> undef136, rest remain the same}> undef24, x1^0 -> undef25, x2^0 -> undef26, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 5 ) ( 4 , 3 ) ( 6 , 2 ) ( 7 , 1 ) ( 10 , 4 ) ( 11 , 4 ) ( 13 , 4 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Analyzing SCC {l7}... No cycles found. Proving termination of subgraph 2 Analyzing SCC {l6}... No cycles found. Proving termination of subgraph 3 Analyzing SCC {l4}... No cycles found. Proving termination of subgraph 4 Checking unfeasibility... Time used: 0.007391 Checking conditional termination of SCC {l10, l11, l13}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001952s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.011584s Trying to remove transition: undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009723s Time used: 0.008418 Trying to remove transition: undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009230s Time used: 0.007843 Trying to remove transition: undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.008989s Time used: 0.007648 Trying to remove transition: undef201, x1^0 -> undef202, x2^0 -> undef203, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009242s Time used: 0.007893 Trying to remove transition: undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.009115s Time used: 0.007743 Solving with 1 template(s). LOG: CALL solveNonLinearGetFirstSolution LOG: RETURN solveNonLinearGetFirstSolution - Elapsed time: 0.042563s Time used: 0.04091 Improving Solution with cost 3 ... LOG: CALL solveNonLinearGetNextSolution LOG: RETURN solveNonLinearGetNextSolution - Elapsed time: 0.118178s Time used: 0.118166 LOG: SAT solveNonLinear - Elapsed time: 0.160741s Cost: 3; Total time: 0.159076 Failed at location 10: 1 <= x2^0 Failed at location 10: 1 <= x2^0 Failed at location 13: 1 <= x2^0 Before Improving: Quasi-invariant at l10: 1 <= x2^0 Quasi-invariant at l13: 1 <= x2^0 Optimizing invariants... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.015214s Remaining time after improvement: 0.995055 Termination implied by a set of quasi-invariant(s): Quasi-invariant at l10: 1 <= x2^0 Quasi-invariant at l13: 1 <= x2^0 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef151, x1^0 -> undef152, x2^0 -> undef153, 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): undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> Ranking function: x2^0 New Graphs: Calling Safety with literal 1 <= x2^0 and entry LOG: CALL check - Post:1 <= x2^0 - Process 1 * Exit transition: * Postcondition : 1 <= x2^0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000389s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000415s Calling Safety with literal 1 <= x2^0 and entry undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> LOG: CALL check - Post:1 <= x2^0 - Process 2 * Exit transition: undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> * Postcondition : 1 <= x2^0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000485s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000525s Calling Safety with literal 1 <= x2^0 and entry LOG: CALL check - Post:1 <= x2^0 - Process 3 * Exit transition: * Postcondition : 1 <= x2^0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000374s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000400s INVARIANTS: 10: 13: Quasi-INVARIANTS to narrow Graph: 10: 1 <= x2^0 , 13: 1 <= x2^0 , Narrowing transition: undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> LOG: Narrow transition size 1 It's unfeasible. Removing transition: undef201, x1^0 -> undef202, x2^0 -> undef203, rest remain the same}> Narrowing transition: undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> LOG: Narrow transition size 1 invGraph after Narrowing: Transitions: undef141, x1^0 -> undef142, x2^0 -> undef144, rest remain the same}> undef161, x1^0 -> undef162, x2^0 -> undef163, rest remain the same}> undef171, x1^0 -> undef172, x2^0 -> undef173, rest remain the same}> undef151, x1^0 -> undef152, x2^0 -> undef153, rest remain the same}> Variables: x0^0, x1^0, x2^0 Proving termination of subgraph 5 Analyzing SCC {l2}... No cycles found. Program Terminates