NO Solver Timeout: 4 Global Timeout: 300 Maximum number of concurrent processes: 900 ******************************************************************************************* *********************** UNPROCESSED TRANSITION SYSTEMS PER FUNCTION *********************** ******************************************************************************************* List of LLVMGraphs + assumeNodes + staticAssertNodes [1] : +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ + + Init Location: 0 Transitions: 0, main_i -> ¿functionCall(__VERIFIER_nondet_int)}> 0))> 0)> (main_i - 1)}> 10)> 10))> (main_i + 1)}> (main_i - 1)}> 0}> Fresh variables: Undef variables: Abstraction variables: Exit nodes: Accepting locations: Asserts: + Assume Nodes [0]: ++++++++++++++++++++++++++++++++++++++++++++++++ + Static Assert Nodes [0]: +++++++++++++++++++++++++++++++++++++++++ + After preprocess (paralelization): ++++++++++++++++++++++++++++++ Init Location: 0 Transitions: 0}> ¿functionCall(__VERIFIER_nondet_int)}> varCall_1}> 0)> 0))> (main_i - 1)}> 10)> 10))> (main_i + 1)}> (main_i - 1)}> 0}> Fresh variables: Undef variables: Abstraction variables: Exit nodes: 16, Accepting locations: Asserts: + + +++++++++++++++++++++++++++++++ main +++++++++++++++++++++++++++++++ Function Return and Parameters Information [2 functions]: function name: __VERIFIER_nondet_int [1 return + 0 parameters] demangled: __VERIFIER_nondet_int __VERIFIER_nondet_int__func_return_ [function result] : int function name: main [1 return + 0 parameters] demangled: main main__func_return_ [function result] : int AST Ident Scanner Information [3 idents]: __VERIFIER_nondet_int | function | [integer, ()] | | main | function | [integer, ()] | i | local variable | integer | | Main function: main Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (main_i < 50) /\ (main_i < 20) /\ ((main_i - 1) > 10) /\ not((30 <= ((main_i - 1) + 1))), par{main_i -> ((main_i - 1) + 1)}> 0) /\ (main_i < 50) /\ (main_i < 20) /\ not(((main_i - 1) > 10)) /\ not((30 <= (main_i - 1))), par{main_i -> (main_i - 1)}> 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ (30 <= (main_i + 1)) /\ ((main_i + 1) <= 40), par{main_i -> ((main_i + 1) - 1)}> 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ (30 <= (main_i + 1)) /\ not(((main_i + 1) <= 40)), par{main_i -> (main_i + 1)}> 0) /\ (main_i < 50) /\ not((main_i < 20)) /\ (main_i > 10) /\ not((30 <= (main_i + 1))), par{main_i -> (main_i + 1)}> 0) /\ not((main_i < 50))> 0))> Fresh variables: undef2, Undef variables: undef2, Abstraction variables: Exit nodes: 16, Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: -1 + main_i, rest remain the same}> 1 + main_i, rest remain the same}> 1 + main_i, rest remain the same}> Variables: main_i Graph 2: Transitions: Variables: Precedence: Graph 0 Graph 1 Graph 2 Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 1 ) ( 16 , 2 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.003271 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000622s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.012174s Piecewise ranking function: min(-12 + 12*main_i,131 - main_i) New Graphs: Transitions: Variables: main_i > No variable changes in termination graph. Checking conditional unfeasibility... Calling Safety with literal 20 <= main_i and entry LOG: CALL check - Post:20 <= main_i - Process 1 * Exit transition: * Postcondition : 20 <= main_i Quasi-invariants: Location 2: 20 <= main_i ; LOG: CALL check - Post:20 <= main_i - Process 2 * Exit transition: * Postcondition : 20 <= main_i LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000193s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000222s LOG: NarrowEntry size 1 Narrowing transition: LOG: Narrow transition size 1 Narrowing transition: -1 + main_i, rest remain the same}> LOG: Narrow transition size 1 It's unfeasible. Removing transition: It's unfeasible. Removing transition: 1 + main_i, rest remain the same}> It's unfeasible. Removing transition: 1 + main_i, rest remain the same}> ENTRIES: END ENTRIES: GRAPH: -1 + main_i, rest remain the same}> END GRAPH: EXIT: POST: 20 <= main_i LOG: Try proving POST [25568 : 25570] [25568 : 25571] [25568 : 25572] LOG: Postcondition is not implied - no solution > Postcondition is not implied! LOG: RETURN check - Elapsed time: 1.067903s Calling Safety with literal main_i <= 11 and entry LOG: CALL check - Post:main_i <= 11 - Process 3 * Exit transition: * Postcondition : main_i <= 11 Quasi-invariants: Location 2: main_i <= 11 ; LOG: CALL check - Post:main_i <= 11 - Process 4 * Exit transition: * Postcondition : main_i <= 11 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.000862s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.000985s LOG: NarrowEntry size 1 Narrowing transition: LOG: Narrow transition size 1 It's unfeasible. Removing transition: -1 + main_i, rest remain the same}> Narrowing transition: LOG: Narrow transition size 1 Narrowing transition: 1 + main_i, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: 1 + main_i, rest remain the same}> LOG: Narrow transition size 1 ENTRIES: END ENTRIES: GRAPH: 1 + main_i, rest remain the same}> 1 + main_i, rest remain the same}> END GRAPH: EXIT: POST: main_i <= 11 LOG: Try proving POST [25568 : 25573] [25568 : 25574] [25568 : 25575] LOG: Postcondition is not implied - no solution > Postcondition is not implied! LOG: RETURN check - Elapsed time: 1.198779s [25568 : 25576] [25568 : 25580] Successful child: 25576 Program does NOT terminate