java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data --rcfgbuilder.command.for.external.solver 'z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000' -tc ../../../trunk/examples/toolchains/AutomizerBplInlineTransformed.xml --icfgtransformation.transformationtype MAP_ELIMINATION_MONNIAUX --icfgtransformation.map.elimination.monniaux.number.of.cells 1 -i ../../../trunk/examples/programs/20170304-DifficultPathPrograms/insertion_sort.i_3.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-7aa59a0 [2019-05-23 09:49:40,554 INFO L146 ILogger]: Resetting all preferences to default values... [2019-05-23 09:49:40,556 INFO L146 ILogger]: Resetting UltimateCore preferences to default values [2019-05-23 09:49:40,568 INFO L146 ILogger]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-23 09:49:40,569 INFO L146 ILogger]: Resetting Boogie Preprocessor preferences to default values [2019-05-23 09:49:40,570 INFO L146 ILogger]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-23 09:49:40,571 INFO L146 ILogger]: Resetting Abstract Interpretation preferences to default values [2019-05-23 09:49:40,573 INFO L146 ILogger]: Resetting LassoRanker preferences to default values [2019-05-23 09:49:40,575 INFO L146 ILogger]: Resetting Reaching Definitions preferences to default values [2019-05-23 09:49:40,575 INFO L146 ILogger]: Resetting SyntaxChecker preferences to default values [2019-05-23 09:49:40,576 INFO L146 ILogger]: Büchi Program Product provides no preferences, ignoring... [2019-05-23 09:49:40,577 INFO L146 ILogger]: Resetting LTL2Aut preferences to default values [2019-05-23 09:49:40,578 INFO L146 ILogger]: Resetting PEA to Boogie preferences to default values [2019-05-23 09:49:40,579 INFO L146 ILogger]: Resetting BlockEncodingV2 preferences to default values [2019-05-23 09:49:40,580 INFO L146 ILogger]: Resetting ChcToBoogie preferences to default values [2019-05-23 09:49:40,581 INFO L146 ILogger]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-23 09:49:40,582 INFO L146 ILogger]: Resetting BuchiAutomizer preferences to default values [2019-05-23 09:49:40,584 INFO L146 ILogger]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-23 09:49:40,586 INFO L146 ILogger]: Resetting CodeCheck preferences to default values [2019-05-23 09:49:40,587 INFO L146 ILogger]: Resetting InvariantSynthesis preferences to default values [2019-05-23 09:49:40,588 INFO L146 ILogger]: Resetting RCFGBuilder preferences to default values [2019-05-23 09:49:40,589 INFO L146 ILogger]: Resetting TraceAbstraction preferences to default values [2019-05-23 09:49:40,592 INFO L146 ILogger]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-23 09:49:40,592 INFO L146 ILogger]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-23 09:49:40,593 INFO L146 ILogger]: Resetting TreeAutomizer preferences to default values [2019-05-23 09:49:40,593 INFO L146 ILogger]: Resetting IcfgToChc preferences to default values [2019-05-23 09:49:40,594 INFO L146 ILogger]: Resetting IcfgTransformer preferences to default values [2019-05-23 09:49:40,595 INFO L146 ILogger]: ReqToTest provides no preferences, ignoring... [2019-05-23 09:49:40,595 INFO L146 ILogger]: Resetting Boogie Printer preferences to default values [2019-05-23 09:49:40,596 INFO L146 ILogger]: Resetting ChcSmtPrinter preferences to default values [2019-05-23 09:49:40,597 INFO L146 ILogger]: Resetting ReqPrinter preferences to default values [2019-05-23 09:49:40,598 INFO L146 ILogger]: Resetting Witness Printer preferences to default values [2019-05-23 09:49:40,599 INFO L146 ILogger]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-23 09:49:40,599 INFO L146 ILogger]: Resetting CDTParser preferences to default values [2019-05-23 09:49:40,600 INFO L146 ILogger]: AutomataScriptParser provides no preferences, ignoring... [2019-05-23 09:49:40,600 INFO L146 ILogger]: ReqParser provides no preferences, ignoring... [2019-05-23 09:49:40,600 INFO L146 ILogger]: Resetting SmtParser preferences to default values [2019-05-23 09:49:40,601 INFO L146 ILogger]: Resetting Witness Parser preferences to default values [2019-05-23 09:49:40,602 INFO L146 ILogger]: Finished resetting all preferences to default values... Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: Command for external solver -> z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: TransformationType -> MAP_ELIMINATION_MONNIAUX Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: Map elimination Monniaux: number of cells -> 1 [2019-05-23 09:49:40,641 INFO L146 ILogger]: Repository-Root is: /tmp [2019-05-23 09:49:40,657 INFO L146 ILogger]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-23 09:49:40,662 INFO L146 ILogger]: [Toolchain 1]: Toolchain selected. [2019-05-23 09:49:40,664 INFO L146 ILogger]: Initializing Boogie PL CUP Parser... [2019-05-23 09:49:40,665 INFO L146 ILogger]: Boogie PL CUP Parser initialized [2019-05-23 09:49:40,666 INFO L146 ILogger]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/insertion_sort.i_3.bpl [2019-05-23 09:49:40,666 INFO L146 ILogger]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/insertion_sort.i_3.bpl' [2019-05-23 09:49:40,711 INFO L146 ILogger]: ####################### [Toolchain 1] ####################### [2019-05-23 09:49:40,713 INFO L146 ILogger]: Walking toolchain with 5 elements. [2019-05-23 09:49:40,714 INFO L146 ILogger]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-23 09:49:40,714 INFO L146 ILogger]: Initializing Boogie Procedure Inliner... [2019-05-23 09:49:40,714 INFO L146 ILogger]: Boogie Procedure Inliner initialized [2019-05-23 09:49:40,731 INFO L146 ILogger]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,744 INFO L146 ILogger]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,755 INFO L146 ILogger]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-23 09:49:40,756 INFO L146 ILogger]: ------------------------Boogie Preprocessor---------------------------- [2019-05-23 09:49:40,756 INFO L146 ILogger]: Initializing Boogie Preprocessor... [2019-05-23 09:49:40,756 INFO L146 ILogger]: Boogie Preprocessor initialized [2019-05-23 09:49:40,768 INFO L146 ILogger]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,768 INFO L146 ILogger]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,769 INFO L146 ILogger]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,770 INFO L146 ILogger]: Executing the observer StructExpander from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,775 INFO L146 ILogger]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,778 INFO L146 ILogger]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,778 INFO L146 ILogger]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... [2019-05-23 09:49:40,780 INFO L146 ILogger]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-23 09:49:40,780 INFO L146 ILogger]: ------------------------RCFGBuilder---------------------------- [2019-05-23 09:49:40,780 INFO L146 ILogger]: Initializing RCFGBuilder... [2019-05-23 09:49:40,781 INFO L146 ILogger]: RCFGBuilder initialized [2019-05-23 09:49:40,782 INFO L146 ILogger]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:4096 -smt2 -in -t:12000 [2019-05-23 09:49:40,851 INFO L146 ILogger]: Found specification of procedure ULTIMATE.start [2019-05-23 09:49:40,851 INFO L146 ILogger]: Found implementation of procedure ULTIMATE.start [2019-05-23 09:49:41,144 INFO L146 ILogger]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-23 09:49:41,144 INFO L146 ILogger]: Removed 3 assume(true) statements. [2019-05-23 09:49:41,146 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 09:49:41 BoogieIcfgContainer [2019-05-23 09:49:41,146 INFO L146 ILogger]: ------------------------ END RCFGBuilder---------------------------- [2019-05-23 09:49:41,146 INFO L146 ILogger]: ------------------------IcfgTransformer---------------------------- [2019-05-23 09:49:41,147 INFO L146 ILogger]: Initializing IcfgTransformer... [2019-05-23 09:49:41,148 INFO L146 ILogger]: IcfgTransformer initialized [2019-05-23 09:49:41,155 INFO L146 ILogger]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 09:49:41" (1/1) ... [2019-05-23 09:49:41,194 INFO L146 ILogger]: L53 [2019-05-23 09:49:41,195 INFO L146 ILogger]: In Formula: (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= (select v_ULTIMATE.start_main_~v~5_4 (+ v_ULTIMATE.start_main_~k~5_4 (- 1))) (select v_ULTIMATE.start_main_~v~5_4 v_ULTIMATE.start_main_~k~5_4)) 1 0)) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_1) (< (mod v_ULTIMATE.start_main_~k~5_4 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_4 4294967296)) (not (< (mod v_ULTIMATE.start_main_~j~5_5 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_4 4294967296))) (= v_ULTIMATE.start_main_~k~5_4 1)) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_4, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_4, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_5} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_4, ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_1, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_4, ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|, ULTIMATE.start_main_~k~5=v_ULTIMATE.start_main_~k~5_4, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_5} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond, ULTIMATE.start_main_~k~5] [2019-05-23 09:49:41,195 INFO L146 ILogger]: Out Formula: (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (or (= v_ULTIMATE.start_main_~v~5_val_0_in_1 v_v_ULTIMATE.start_main_~v~5_4_aux_2) (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_1 (+ v_ULTIMATE.start_main_~k~5_4 (- 1))))) (or (= v_ULTIMATE.start_main_~v~5_val_0_in_1 v_v_ULTIMATE.start_main_~v~5_4_aux_1) (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_1 v_ULTIMATE.start_main_~k~5_4))) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_1) (< (mod v_ULTIMATE.start_main_~k~5_4 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_4 4294967296)) (not (< (mod v_ULTIMATE.start_main_~j~5_5 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_4 4294967296))) (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_v_ULTIMATE.start_main_~v~5_4_aux_2 v_v_ULTIMATE.start_main_~v~5_4_aux_1) 1 0)) (= v_ULTIMATE.start_main_~k~5_4 1) (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_1 (+ v_ULTIMATE.start_main_~k~5_4 (- 1))) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) (= v_ULTIMATE.start_main_~v~5_idx_0_term_1 v_ULTIMATE.start_main_~k~5_4)) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_4, ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_1, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_1, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_5, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1} OutVars{ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_1, ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_1, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_1, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_4, ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|, ULTIMATE.start_main_~k~5=v_ULTIMATE.start_main_~k~5_4, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_5} AuxVars[v_v_ULTIMATE.start_main_~v~5_4_aux_2, v_v_ULTIMATE.start_main_~v~5_4_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond, ULTIMATE.start_main_~k~5] [2019-05-23 09:49:41,196 INFO L146 ILogger]: L42 [2019-05-23 09:49:41,201 INFO L146 ILogger]: L53 [2019-05-23 09:49:41,203 INFO L146 ILogger]: In Formula: (and (or (not (<= 0 v_ULTIMATE.start_main_~i~5_4)) (not (< v_ULTIMATE.start_main_~key~5_4 (select v_ULTIMATE.start_main_~v~5_6 v_ULTIMATE.start_main_~i~5_4)))) (= v_ULTIMATE.start_main_~v~5_5 (store v_ULTIMATE.start_main_~v~5_6 (+ v_ULTIMATE.start_main_~i~5_4 1) v_ULTIMATE.start_main_~key~5_4)) (= (+ v_ULTIMATE.start_main_~j~5_7 1) v_ULTIMATE.start_main_~j~5_6) (= v_ULTIMATE.start_main_~i~5_4 (+ v_ULTIMATE.start_main_~j~5_7 (- 1))) (< (mod v_ULTIMATE.start_main_~j~5_7 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_5 4294967296)) (= v_ULTIMATE.start_main_~key~5_4 (select v_ULTIMATE.start_main_~v~5_6 v_ULTIMATE.start_main_~j~5_7))) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_6, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_5, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_7} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_5, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_5, ULTIMATE.start_main_#t~post1=|v_ULTIMATE.start_main_#t~post1_2|, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_6, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} AuxVars[] AssignedVars[ULTIMATE.start_main_~v~5, ULTIMATE.start_main_#t~post1, ULTIMATE.start_main_~j~5, ULTIMATE.start_main_~key~5, ULTIMATE.start_main_~i~5] [2019-05-23 09:49:41,204 INFO L146 ILogger]: Out Formula: (and (or (and (not (<= 0 v_ULTIMATE.start_main_~i~5_4)) (= v_v_ULTIMATE.start_main_~v~5_6_aux_1 v_ULTIMATE.start_main_~key~5_4) (= (+ v_ULTIMATE.start_main_~j~5_7 1) v_ULTIMATE.start_main_~j~5_6) (or (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 (+ v_ULTIMATE.start_main_~i~5_4 1))) (= v_ULTIMATE.start_main_~key~5_4 v_ULTIMATE.start_main_~v~5_val_0_in_2)) (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~j~5_7) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 (+ v_ULTIMATE.start_main_~i~5_4 1))) (= v_ULTIMATE.start_main_~i~5_4 (+ v_ULTIMATE.start_main_~j~5_7 (- 1))) (< (mod v_ULTIMATE.start_main_~j~5_7 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_5 4294967296)) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) (and (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~j~5_7) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_4) (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 (+ v_ULTIMATE.start_main_~i~5_4 1))) (= v_v_ULTIMATE.start_main_~v~5_6_aux_1 v_ULTIMATE.start_main_~key~5_4) (= (+ v_ULTIMATE.start_main_~j~5_7 1) v_ULTIMATE.start_main_~j~5_6) (or (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 (+ v_ULTIMATE.start_main_~i~5_4 1))) (= v_ULTIMATE.start_main_~key~5_4 v_ULTIMATE.start_main_~v~5_val_0_in_2)) (= v_ULTIMATE.start_main_~i~5_4 (+ v_ULTIMATE.start_main_~j~5_7 (- 1))) (not (< v_ULTIMATE.start_main_~key~5_4 v_v_ULTIMATE.start_main_~v~5_6_aux_2)) (< (mod v_ULTIMATE.start_main_~j~5_7 4294967296) (mod v_ULTIMATE.start_main_~SIZE~5_5 4294967296)) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1)) (or (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~j~5_7)) (= v_v_ULTIMATE.start_main_~v~5_6_aux_1 v_ULTIMATE.start_main_~v~5_val_0_in_2)) (= v_ULTIMATE.start_main_~v~5_val_0_out_1 v_ULTIMATE.start_main_~v~5_val_0_in_2) (or (= v_v_ULTIMATE.start_main_~v~5_6_aux_2 v_ULTIMATE.start_main_~v~5_val_0_in_2) (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_4)))) InVars {ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_5, ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_2, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_2, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_7, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1} OutVars{ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_out_1, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_2, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1, ULTIMATE.start_main_~SIZE~5=v_ULTIMATE.start_main_~SIZE~5_5, ULTIMATE.start_main_#t~post1=|v_ULTIMATE.start_main_#t~post1_2|, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_6, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} AuxVars[v_v_ULTIMATE.start_main_~v~5_6_aux_1, v_v_ULTIMATE.start_main_~v~5_6_aux_2] AssignedVars[ULTIMATE.start_main_~v~5_val_0, ULTIMATE.start_main_#t~post1, ULTIMATE.start_main_~j~5, ULTIMATE.start_main_~key~5, ULTIMATE.start_main_~i~5] [2019-05-23 09:49:41,204 INFO L146 ILogger]: L53 [2019-05-23 09:49:41,215 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 23.05 09:49:41 BasicIcfg [2019-05-23 09:49:41,216 INFO L146 ILogger]: ------------------------ END IcfgTransformer---------------------------- [2019-05-23 09:49:41,217 INFO L146 ILogger]: ------------------------TraceAbstraction---------------------------- [2019-05-23 09:49:41,218 INFO L146 ILogger]: Initializing TraceAbstraction... [2019-05-23 09:49:41,224 INFO L146 ILogger]: TraceAbstraction initialized [2019-05-23 09:49:41,224 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.05 09:49:40" (1/3) ... [2019-05-23 09:49:41,225 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a619d2d and model type insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.05 09:49:41, skipping insertion in model container [2019-05-23 09:49:41,225 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 09:49:41" (2/3) ... [2019-05-23 09:49:41,226 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@a619d2d and model type insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 09:49:41, skipping insertion in model container [2019-05-23 09:49:41,226 INFO L146 ILogger]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 23.05 09:49:41" (3/3) ... [2019-05-23 09:49:41,228 INFO L146 ILogger]: Analyzing ICFG insertion_sort.i_3.bplME [2019-05-23 09:49:41,238 INFO L146 ILogger]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-23 09:49:41,248 INFO L146 ILogger]: Appying trace abstraction to program that has 1 error locations. [2019-05-23 09:49:41,266 INFO L146 ILogger]: Starting to check reachability of 1 error locations. [2019-05-23 09:49:41,296 INFO L146 ILogger]: Using default assertion order modulation [2019-05-23 09:49:41,297 INFO L146 ILogger]: Interprodecural is true [2019-05-23 09:49:41,297 INFO L146 ILogger]: Hoare is false [2019-05-23 09:49:41,297 INFO L146 ILogger]: Compute interpolants for ForwardPredicates [2019-05-23 09:49:41,298 INFO L146 ILogger]: Backedges is STRAIGHT_LINE [2019-05-23 09:49:41,298 INFO L146 ILogger]: Determinization is PREDICATE_ABSTRACTION [2019-05-23 09:49:41,298 INFO L146 ILogger]: Difference is false [2019-05-23 09:49:41,298 INFO L146 ILogger]: Minimize is MINIMIZE_SEVPA [2019-05-23 09:49:41,298 INFO L146 ILogger]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-23 09:49:41,313 INFO L146 ILogger]: Start isEmpty. Operand 5 states. [2019-05-23 09:49:41,327 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 4 [2019-05-23 09:49:41,329 INFO L146 ILogger]: Found error trace [2019-05-23 09:49:41,330 INFO L146 ILogger]: trace histogram [1, 1, 1] [2019-05-23 09:49:41,333 INFO L146 ILogger]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 09:49:41,341 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 09:49:41,342 INFO L146 ILogger]: Analyzing trace with hash 42734, now seen corresponding path program 1 times [2019-05-23 09:49:41,391 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 09:49:41,460 INFO L146 ILogger]: Conjunction of SSA is unsat [2019-05-23 09:49:41,464 INFO L146 ILogger]: Trace formula consists of 21 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-23 09:49:41,468 INFO L146 ILogger]: Computing forward predicates... [2019-05-23 09:49:41,521 INFO L146 ILogger]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-23 09:49:41,524 INFO L146 ILogger]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-23 09:49:41,525 INFO L146 ILogger]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2019-05-23 09:49:41,529 INFO L146 ILogger]: Interpolant automaton has 3 states [2019-05-23 09:49:41,545 INFO L146 ILogger]: Constructing interpolant automaton starting with 3 interpolants. [2019-05-23 09:49:41,546 INFO L146 ILogger]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-23 09:49:41,548 INFO L146 ILogger]: Start difference. First operand 5 states. Second operand 3 states. [2019-05-23 09:49:41,585 INFO L146 ILogger]: Subtrahend was deterministic. Have not used determinization. [2019-05-23 09:49:41,586 INFO L146 ILogger]: Finished difference Result 5 states and 5 transitions. [2019-05-23 09:49:41,587 INFO L146 ILogger]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-05-23 09:49:41,588 INFO L146 ILogger]: Start accepts. Automaton has 3 states. Word has length 3 [2019-05-23 09:49:41,588 INFO L146 ILogger]: Finished accepts. some prefix is accepted. [2019-05-23 09:49:41,597 INFO L146 ILogger]: With dead ends: 5 [2019-05-23 09:49:41,597 INFO L146 ILogger]: Without dead ends: 5 [2019-05-23 09:49:41,599 INFO L146 ILogger]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-23 09:49:41,615 INFO L146 ILogger]: Start minimizeSevpa. Operand 5 states. [2019-05-23 09:49:41,626 INFO L146 ILogger]: Finished minimizeSevpa. Reduced states from 5 to 5. [2019-05-23 09:49:41,627 INFO L146 ILogger]: Start removeUnreachable. Operand 5 states. [2019-05-23 09:49:41,628 INFO L146 ILogger]: Finished removeUnreachable. Reduced from 5 states to 5 states and 5 transitions. [2019-05-23 09:49:41,629 INFO L146 ILogger]: Start accepts. Automaton has 5 states and 5 transitions. Word has length 3 [2019-05-23 09:49:41,629 INFO L146 ILogger]: Finished accepts. word is rejected. [2019-05-23 09:49:41,629 INFO L146 ILogger]: Abstraction has 5 states and 5 transitions. [2019-05-23 09:49:41,630 INFO L146 ILogger]: Interpolant automaton has 3 states. [2019-05-23 09:49:41,630 INFO L146 ILogger]: Start isEmpty. Operand 5 states and 5 transitions. [2019-05-23 09:49:41,630 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 5 [2019-05-23 09:49:41,630 INFO L146 ILogger]: Found error trace [2019-05-23 09:49:41,631 INFO L146 ILogger]: trace histogram [1, 1, 1, 1] [2019-05-23 09:49:41,631 INFO L146 ILogger]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 09:49:41,631 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 09:49:41,632 INFO L146 ILogger]: Analyzing trace with hash 1325669, now seen corresponding path program 1 times [2019-05-23 09:49:41,633 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 09:49:41,667 INFO L146 ILogger]: Conjunction of SSA is sat [2019-05-23 09:49:41,737 INFO L146 ILogger]: Conjunction of SSA is sat [2019-05-23 09:49:41,761 INFO L146 ILogger]: Counterexample might be feasible [2019-05-23 09:49:41,778 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier3,QUANTIFIED] [2019-05-23 09:49:41,779 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier1,QUANTIFIED] [2019-05-23 09:49:41,780 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier2,QUANTIFIED] [2019-05-23 09:49:41,780 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier4,QUANTIFIED] [2019-05-23 09:49:41,781 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier5,QUANTIFIED] [2019-05-23 09:49:41,781 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier6,QUANTIFIED] [2019-05-23 09:49:41,782 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier7,QUANTIFIED] [2019-05-23 09:49:41,782 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier8,QUANTIFIED] [2019-05-23 09:49:41,783 WARN L146 ILogger]: Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier9,QUANTIFIED] [2019-05-23 09:49:41,800 INFO L146 ILogger]: Did not count any witness invariants because Icfg is not BoogieIcfg [2019-05-23 09:49:41,803 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 09:49:41 BasicIcfg [2019-05-23 09:49:41,803 INFO L146 ILogger]: ------------------------ END TraceAbstraction---------------------------- [2019-05-23 09:49:41,806 INFO L146 ILogger]: Toolchain (without parser) took 1092.15 ms. Allocated memory is still 133.2 MB. Free memory was 109.4 MB in the beginning and 69.0 MB in the end (delta: 40.4 MB). Peak memory consumption was 40.4 MB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,808 INFO L146 ILogger]: Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 133.2 MB. Free memory is still 110.3 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-05-23 09:49:41,811 INFO L146 ILogger]: Boogie Procedure Inliner took 41.58 ms. Allocated memory is still 133.2 MB. Free memory was 109.0 MB in the beginning and 107.3 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,812 INFO L146 ILogger]: Boogie Preprocessor took 24.06 ms. Allocated memory is still 133.2 MB. Free memory was 107.3 MB in the beginning and 106.4 MB in the end (delta: 872.4 kB). Peak memory consumption was 872.4 kB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,813 INFO L146 ILogger]: RCFGBuilder took 365.79 ms. Allocated memory is still 133.2 MB. Free memory was 106.4 MB in the beginning and 96.6 MB in the end (delta: 9.9 MB). Peak memory consumption was 9.9 MB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,815 INFO L146 ILogger]: IcfgTransformer took 69.56 ms. Allocated memory is still 133.2 MB. Free memory was 96.6 MB in the beginning and 93.5 MB in the end (delta: 3.0 MB). Peak memory consumption was 3.0 MB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,817 INFO L146 ILogger]: TraceAbstraction took 585.96 ms. Allocated memory is still 133.2 MB. Free memory was 93.1 MB in the beginning and 69.0 MB in the end (delta: 24.1 MB). Peak memory consumption was 24.1 MB. Max. memory is 7.1 GB. [2019-05-23 09:49:41,824 INFO L146 ILogger]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 133.2 MB. Free memory is still 110.3 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 41.58 ms. Allocated memory is still 133.2 MB. Free memory was 109.0 MB in the beginning and 107.3 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 24.06 ms. Allocated memory is still 133.2 MB. Free memory was 107.3 MB in the beginning and 106.4 MB in the end (delta: 872.4 kB). Peak memory consumption was 872.4 kB. Max. memory is 7.1 GB. * RCFGBuilder took 365.79 ms. Allocated memory is still 133.2 MB. Free memory was 106.4 MB in the beginning and 96.6 MB in the end (delta: 9.9 MB). Peak memory consumption was 9.9 MB. Max. memory is 7.1 GB. * IcfgTransformer took 69.56 ms. Allocated memory is still 133.2 MB. Free memory was 96.6 MB in the beginning and 93.5 MB in the end (delta: 3.0 MB). Peak memory consumption was 3.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 585.96 ms. Allocated memory is still 133.2 MB. Free memory was 93.1 MB in the beginning and 69.0 MB in the end (delta: 24.1 MB). Peak memory consumption was 24.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier3,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier1,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier2,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier4,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier6,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier7,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier8,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[freshIdentifier9,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 55]: Unable to prove that assertion always holds Unable to prove that assertion always holds Reason: overapproximation of IdentityTransformer. Possible FailurePath: [L16] havoc main_#res; [L17] havoc main_#t~nondet0, main_#t~post1, main_#t~post2, main_~SIZE~5, main_~i~5, main_~j~5, main_~k~5, main_~key~5, main_~v~5; [L18] main_~SIZE~5 := main_#t~nondet0; [L19] havoc main_#t~nondet0; [L20] havoc main_~i~5; [L21] havoc main_~j~5; [L22] havoc main_~k~5; [L23] havoc main_~key~5; [L24] havoc main_~v~5; [L25] main_~j~5 := 1; VAL [main_~j~5=1, main_~SIZE~5=2] [L44] assume !!(main_~j~5 % 4294967296 < main_~SIZE~5 % 4294967296); [L45] main_~key~5 := main_~v~5[main_~j~5]; [L46] main_~i~5 := main_~j~5 - 1; [L48] assume !(main_~i~5 >= 0 && main_~v~5[main_~i~5] > main_~key~5); [L49] main_~v~5 := main_~v~5[main_~i~5 + 1 := main_~key~5]; [L50] main_#t~post1 := main_~j~5; [L51] main_~j~5 := main_#t~post1 + 1; [L52] havoc main_#t~post1; VAL [freshIdentifier1=true, freshIdentifier2=3, freshIdentifier3=0, main_~i~5=0, main_~j~5=2, main_~key~5=3, main_~SIZE~5=2] [L33] assume !(main_~j~5 % 4294967296 < main_~SIZE~5 % 4294967296); [L34] main_~k~5 := 1; [L36] assume !!(main_~k~5 % 4294967296 < main_~SIZE~5 % 4294967296); [L37] __VERIFIER_assert_#in~cond := (if main_~v~5[main_~k~5 - 1] <= main_~v~5[main_~k~5] then 1 else 0); [L38] havoc __VERIFIER_assert_~cond; [L39] __VERIFIER_assert_~cond := __VERIFIER_assert_#in~cond; [L40] assume __VERIFIER_assert_~cond == 0; [L41] assume !false; VAL [__VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, freshIdentifier4=true, freshIdentifier5=3, freshIdentifier6=0, main_~i~5=0, main_~j~5=2, main_~key~5=3, main_~k~5=1, main_~SIZE~5=2] [L55] assert false; VAL [__VERIFIER_assert_#in~cond=0, __VERIFIER_assert_~cond=0, freshIdentifier7=true, freshIdentifier8=3, freshIdentifier9=0, main_~i~5=0, main_~j~5=2, main_~key~5=3, main_~k~5=1, main_~SIZE~5=2] - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 5 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 2 SDtfs, 0 SDslu, 1 SDs, 0 SdLazy, 4 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=5occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 7 NumberOfCodeBlocks, 7 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 2 ConstructedInterpolants, 0 QuantifiedInterpolants, 8 SizeOfPredicates, 3 NumberOfNonLiveVariables, 21 ConjunctsInSsa, 6 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request...