/export/starexec/sandbox/solver/bin/starexec_run_termcomp17 /export/starexec/sandbox/benchmark/theBenchmark.smt2 /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Solver Timeout: 4 Global Timeout: 300 Maximum number of concurrent processes: 900 No parsing errors! Init Location: 0 Transitions: 0) /\ (arg2 > ~(1)) /\ (undef1 > 0) /\ (undef3 > ~(1)) /\ (undef4 > ~(1)) /\ (undef6 > ~(1)), par{arg1 -> undef1, arg2 -> 0, arg3 -> undef3, arg4 -> undef4, arg5 -> 0, arg6 -> undef6}> 0) /\ (undef7 > 0) /\ (undef9 > ~(1)) /\ (undef10 > ~(1)) /\ (undef12 > ~(1)), par{arg1 -> undef7, arg2 -> 0, arg3 -> undef9, arg4 -> undef10, arg5 -> 0, arg6 -> undef12}> 0) /\ (arg3 > ~(1)) /\ (arg4 > 0) /\ (arg6 > 0) /\ (undef13 > 0) /\ (undef15 > ~(1)) /\ (undef16 > ~(1)) /\ (undef18 > ~(1)), par{arg1 -> undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18}> arg5) /\ ((undef20 - 1) <= arg3) /\ (undef20 <= arg4) /\ (undef20 <= arg6) /\ (undef22 <= arg3) /\ ((undef23 + 1) <= arg4) /\ ((undef23 + 1) <= arg6) /\ ((undef25 + 1) <= arg4) /\ ((undef25 + 1) <= arg6) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > 0) /\ (arg6 > 0) /\ (undef20 > 0) /\ (undef22 > ~(1)) /\ (undef23 > ~(1)) /\ (undef25 > ~(1)) /\ ((undef24 + 2) <= arg4) /\ ((undef24 + 2) <= arg6), par{arg1 -> undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25}> = arg2) /\ (undef32 > 0) /\ (undef33 > 0) /\ (undef26 <= arg1) /\ ((undef26 - 1) <= arg3) /\ ((undef26 - 1) <= arg4) /\ ((undef26 - 1) <= arg6) /\ (undef28 <= arg3) /\ (undef29 <= arg3) /\ (undef31 <= arg3) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > ~(1)) /\ (arg6 > ~(1)) /\ (undef26 > 0) /\ (undef28 > ~(1)) /\ (undef29 > ~(1)) /\ (undef31 > ~(1)), par{arg1 -> undef26, arg2 -> (arg2 + 1), arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31}> ~(1)) /\ (undef34 > ~(1)) /\ (arg1 > 0), par{arg1 -> undef34, arg2 -> 1, arg3 -> undef36, arg4 -> undef37, arg5 -> undef38, arg6 -> undef39}> 0) /\ (arg2 > 0), par{arg1 -> (arg1 - 1), arg2 -> (arg2 + 1), arg3 -> undef42, arg4 -> undef43, arg5 -> undef44, arg6 -> undef45}> = arg2) /\ (undef52 > 0) /\ (undef53 > 0) /\ (undef47 <= arg3) /\ (undef48 <= arg3) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > ~(1)) /\ (arg6 > ~(1)) /\ (undef47 > ~(1)) /\ (undef48 > ~(1)), par{arg1 -> arg2, arg2 -> undef47, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51}> 0) /\ (arg3 > 0) /\ (undef55 > ~(1)) /\ (undef56 > ~(1)), par{arg2 -> undef55, arg3 -> undef56, arg4 -> undef57, arg5 -> undef58, arg6 -> undef59}> arg1) /\ ((undef62 + 1) <= arg3) /\ ((undef63 + 1) <= arg2) /\ ((undef63 + 1) <= arg3) /\ (arg2 > 0) /\ (arg3 > 0) /\ (undef62 > ~(1)) /\ (undef63 > ~(1)), par{arg2 -> undef62, arg3 -> undef63, arg4 -> undef64, arg5 -> undef65, arg6 -> undef66}> undef68, arg2 -> undef69, arg3 -> undef70, arg4 -> undef71, arg5 -> undef72, arg6 -> undef73}> Fresh variables: undef1, undef3, undef4, undef6, undef7, undef9, undef10, undef12, undef13, undef15, undef16, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef28, undef29, undef31, undef32, undef33, undef34, undef36, undef37, undef38, undef39, undef42, undef43, undef44, undef45, undef47, undef48, undef49, undef50, undef51, undef52, undef53, undef55, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef66, undef67, undef68, undef69, undef70, undef71, undef72, undef73, Undef variables: undef1, undef3, undef4, undef6, undef7, undef9, undef10, undef12, undef13, undef15, undef16, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef28, undef29, undef31, undef32, undef33, undef34, undef36, undef37, undef38, undef39, undef42, undef43, undef44, undef45, undef47, undef48, undef49, undef50, undef51, undef52, undef53, undef55, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef66, undef67, undef68, undef69, undef70, undef71, undef72, undef73, Abstraction variables: Exit nodes: Accepting locations: Asserts: Preprocessed LLVMGraph Init Location: 0 Transitions: 0) /\ (undef7 > 0) /\ (undef9 > ~(1)) /\ (undef10 > ~(1)) /\ (undef12 > ~(1)), par{arg1 -> undef7, arg2 -> 0, arg3 -> undef9, arg4 -> undef10, arg5 -> 0, arg6 -> undef12}> ~(1)) /\ (undef34 > ~(1)) /\ (undef68 > 0), par{arg1 -> undef34, arg2 -> 1, arg3 -> undef36, arg4 -> undef37, arg5 -> undef38, arg6 -> undef39}> 0) /\ (arg3 > ~(1)) /\ (arg4 > 0) /\ (arg6 > 0) /\ (undef13 > 0) /\ (undef15 > ~(1)) /\ (undef16 > ~(1)) /\ (undef18 > ~(1)), par{arg1 -> undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18}> arg5) /\ ((undef20 - 1) <= arg3) /\ (undef20 <= arg4) /\ (undef20 <= arg6) /\ (undef22 <= arg3) /\ ((undef23 + 1) <= arg4) /\ ((undef23 + 1) <= arg6) /\ ((undef25 + 1) <= arg4) /\ ((undef25 + 1) <= arg6) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > 0) /\ (arg6 > 0) /\ (undef20 > 0) /\ (undef22 > ~(1)) /\ (undef23 > ~(1)) /\ (undef25 > ~(1)) /\ ((undef24 + 2) <= arg4) /\ ((undef24 + 2) <= arg6), par{arg1 -> undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25}> = arg2) /\ (undef32 > 0) /\ (undef33 > 0) /\ (undef26 <= arg1) /\ ((undef26 - 1) <= arg3) /\ ((undef26 - 1) <= arg4) /\ ((undef26 - 1) <= arg6) /\ (undef28 <= arg3) /\ (undef29 <= arg3) /\ (undef31 <= arg3) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > ~(1)) /\ (arg6 > ~(1)) /\ (undef26 > 0) /\ (undef28 > ~(1)) /\ (undef29 > ~(1)) /\ (undef31 > ~(1)), par{arg1 -> undef26, arg2 -> (arg2 + 1), arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31}> = arg2) /\ (undef52 > 0) /\ (undef53 > 0) /\ (undef47 <= arg3) /\ (undef48 <= arg3) /\ (arg1 > 0) /\ (arg3 > ~(1)) /\ (arg4 > ~(1)) /\ (arg6 > ~(1)) /\ (undef47 > ~(1)) /\ (undef48 > ~(1)), par{arg1 -> arg2, arg2 -> undef47, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51}> 0) /\ (arg2 > 0), par{arg1 -> (arg1 - 1), arg2 -> (arg2 + 1), arg3 -> undef42, arg4 -> undef43, arg5 -> undef44, arg6 -> undef45}> 0) /\ (arg3 > 0) /\ (undef55 > ~(1)) /\ (undef56 > ~(1)), par{arg2 -> undef55, arg3 -> undef56, arg4 -> undef57, arg5 -> undef58, arg6 -> undef59}> arg1) /\ ((undef62 + 1) <= arg3) /\ ((undef63 + 1) <= arg2) /\ ((undef63 + 1) <= arg3) /\ (arg2 > 0) /\ (arg3 > 0) /\ (undef62 > ~(1)) /\ (undef63 > ~(1)), par{arg2 -> undef62, arg3 -> undef63, arg4 -> undef64, arg5 -> undef65, arg6 -> undef66}> Fresh variables: undef1, undef3, undef4, undef6, undef7, undef9, undef10, undef12, undef13, undef15, undef16, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef28, undef29, undef31, undef32, undef33, undef34, undef36, undef37, undef38, undef39, undef42, undef43, undef44, undef45, undef47, undef48, undef49, undef50, undef51, undef52, undef53, undef55, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef66, undef67, undef68, undef69, undef70, undef71, undef72, undef73, Undef variables: undef1, undef3, undef4, undef6, undef7, undef9, undef10, undef12, undef13, undef15, undef16, undef18, undef19, undef20, undef22, undef23, undef24, undef25, undef26, undef28, undef29, undef31, undef32, undef33, undef34, undef36, undef37, undef38, undef39, undef42, undef43, undef44, undef45, undef47, undef48, undef49, undef50, undef51, undef52, undef53, undef55, undef56, undef57, undef58, undef59, undef60, undef62, undef63, undef64, undef65, undef66, undef67, undef68, undef69, undef70, undef71, undef72, undef73, Abstraction variables: Exit nodes: Accepting locations: Asserts: ************************************************************* ******************************************************************************************* *********************** WORKING TRANSITION SYSTEM (DAG) *********************** ******************************************************************************************* Init Location: 0 Graph 0: Transitions: Variables: Graph 1: Transitions: -1 + arg1, arg2 -> 1 + arg2, arg3 -> undef42, arg4 -> undef43, arg5 -> undef44, arg6 -> undef45, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Graph 2: Transitions: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> Variables: arg1, arg3, arg4, arg5, arg6, arg2 Graph 3: Transitions: undef55, arg3 -> undef56, arg4 -> undef57, arg5 -> undef58, arg6 -> undef59, rest remain the same}> undef62, arg3 -> undef63, arg4 -> undef64, arg5 -> undef65, arg6 -> undef66, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Precedence: Graph 0 Graph 1 undef34, arg2 -> 1, arg3 -> undef36, arg4 -> undef37, arg5 -> undef38, arg6 -> undef39, rest remain the same}> Graph 2 undef7, arg2 -> 0, arg3 -> undef9, arg4 -> undef10, arg5 -> 0, arg6 -> undef12, rest remain the same}> Graph 3 arg2, arg2 -> undef47, arg3 -> undef48, arg4 -> undef49, arg5 -> undef50, arg6 -> undef51, rest remain the same}> Map Locations to Subgraph: ( 0 , 0 ) ( 2 , 2 ) ( 4 , 1 ) ( 5 , 3 ) ******************************************************************************************* ******************************** CHECKING ASSERTIONS ******************************** ******************************************************************************************* Proving termination of subgraph 0 Proving termination of subgraph 1 Checking unfeasibility... Time used: 0.004011 Checking conditional termination of SCC {l4}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001045s Ranking function: -1 + arg1 New Graphs: Proving termination of subgraph 2 Checking unfeasibility... Time used: 0.022383 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.008145s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.069656s [61635 : 61636] [61635 : 61637] Successful child: 61636 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> [ Termination Graph ] Strengthening and disabling transitions... > It's unfeasible. Removing transition: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility It's unfeasible. Removing transition: undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> New Graphs: Transitions: undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> Variables: arg1, arg2, arg3, arg4, arg5, arg6 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.002170s LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.010206s [61635 : 61641] [61635 : 61642] Successful child: 61641 [ Invariant Graph ] Strengthening and disabling transitions... LOG: CALL solverLinear in Graph for feasibility LOG: RETURN solveLinear in Graph for feasibility Strengthening transition (result): undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, 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): undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> Ranking function: arg1 - arg2 New Graphs: LOG: CALL check - Post:arg3 + arg4 <= 0 - Process 1 * Exit transition: undef7, arg2 -> 0, arg3 -> undef9, arg4 -> undef10, arg5 -> 0, arg6 -> undef12, rest remain the same}> * Postcondition : arg3 + arg4 <= 0 LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.001080s > Postcondition is not implied! LOG: RETURN check - Elapsed time: 0.001224s INVARIANTS: 2: Quasi-INVARIANTS to narrow Graph: 2: arg3 + arg4 <= 0 , INVARIANTS: 2: arg5 <= arg1 , Quasi-INVARIANTS to narrow Graph: 2: Narrowing transition: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> LOG: Narrow transition size 1 Narrowing transition: undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> LOG: Narrow transition size 1 invGraph after Narrowing: Transitions: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> undef26, arg2 -> 1 + arg2, arg3 -> undef28, arg4 -> undef29, arg5 -> 0, arg6 -> undef31, rest remain the same}> Variables: arg1, arg3, arg4, arg5, arg6, arg2 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.012312s Ranking function: arg1 - arg2 New Graphs: Transitions: undef13, arg3 -> undef15, arg4 -> undef16, arg6 -> undef18, rest remain the same}> undef20, arg3 -> undef22, arg4 -> undef23, arg5 -> undef24, arg6 -> undef25, rest remain the same}> Variables: arg1, arg3, arg4, arg5, arg6 Checking conditional termination of SCC {l2}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.006452s Ranking function: -1 + (1 / 2)*arg4 + (1 / 2)*arg6 New Graphs: Proving termination of subgraph 3 Checking unfeasibility... Time used: 0.009084 Checking conditional termination of SCC {l5}... LOG: CALL solveLinear LOG: RETURN solveLinear - Elapsed time: 0.004114s Ranking function: -1 + arg3 New Graphs: Program Terminates