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 --rcfgbuilder.size.of.a.code.block SingleStatement --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:36:42,095 INFO L146 ILogger]: Resetting all preferences to default values... [2019-05-23 09:36:42,101 INFO L146 ILogger]: Resetting UltimateCore preferences to default values [2019-05-23 09:36:42,118 INFO L146 ILogger]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-23 09:36:42,118 INFO L146 ILogger]: Resetting Boogie Preprocessor preferences to default values [2019-05-23 09:36:42,121 INFO L146 ILogger]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-23 09:36:42,123 INFO L146 ILogger]: Resetting Abstract Interpretation preferences to default values [2019-05-23 09:36:42,125 INFO L146 ILogger]: Resetting LassoRanker preferences to default values [2019-05-23 09:36:42,127 INFO L146 ILogger]: Resetting Reaching Definitions preferences to default values [2019-05-23 09:36:42,129 INFO L146 ILogger]: Resetting SyntaxChecker preferences to default values [2019-05-23 09:36:42,130 INFO L146 ILogger]: Büchi Program Product provides no preferences, ignoring... [2019-05-23 09:36:42,131 INFO L146 ILogger]: Resetting LTL2Aut preferences to default values [2019-05-23 09:36:42,132 INFO L146 ILogger]: Resetting PEA to Boogie preferences to default values [2019-05-23 09:36:42,135 INFO L146 ILogger]: Resetting BlockEncodingV2 preferences to default values [2019-05-23 09:36:42,142 INFO L146 ILogger]: Resetting ChcToBoogie preferences to default values [2019-05-23 09:36:42,143 INFO L146 ILogger]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-23 09:36:42,147 INFO L146 ILogger]: Resetting BuchiAutomizer preferences to default values [2019-05-23 09:36:42,149 INFO L146 ILogger]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-23 09:36:42,156 INFO L146 ILogger]: Resetting CodeCheck preferences to default values [2019-05-23 09:36:42,160 INFO L146 ILogger]: Resetting InvariantSynthesis preferences to default values [2019-05-23 09:36:42,161 INFO L146 ILogger]: Resetting RCFGBuilder preferences to default values [2019-05-23 09:36:42,163 INFO L146 ILogger]: Resetting TraceAbstraction preferences to default values [2019-05-23 09:36:42,167 INFO L146 ILogger]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-23 09:36:42,167 INFO L146 ILogger]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-23 09:36:42,167 INFO L146 ILogger]: Resetting TreeAutomizer preferences to default values [2019-05-23 09:36:42,168 INFO L146 ILogger]: Resetting IcfgToChc preferences to default values [2019-05-23 09:36:42,169 INFO L146 ILogger]: Resetting IcfgTransformer preferences to default values [2019-05-23 09:36:42,170 INFO L146 ILogger]: ReqToTest provides no preferences, ignoring... [2019-05-23 09:36:42,170 INFO L146 ILogger]: Resetting Boogie Printer preferences to default values [2019-05-23 09:36:42,171 INFO L146 ILogger]: Resetting ChcSmtPrinter preferences to default values [2019-05-23 09:36:42,172 INFO L146 ILogger]: Resetting ReqPrinter preferences to default values [2019-05-23 09:36:42,173 INFO L146 ILogger]: Resetting Witness Printer preferences to default values [2019-05-23 09:36:42,174 INFO L146 ILogger]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-23 09:36:42,174 INFO L146 ILogger]: Resetting CDTParser preferences to default values [2019-05-23 09:36:42,175 INFO L146 ILogger]: AutomataScriptParser provides no preferences, ignoring... [2019-05-23 09:36:42,175 INFO L146 ILogger]: ReqParser provides no preferences, ignoring... [2019-05-23 09:36:42,175 INFO L146 ILogger]: Resetting SmtParser preferences to default values [2019-05-23 09:36:42,176 INFO L146 ILogger]: Resetting Witness Parser preferences to default values [2019-05-23 09:36:42,177 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.generator.rcfgbuilder: Size of a code block -> SingleStatement Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: Map elimination Monniaux: number of cells -> 1 [2019-05-23 09:36:42,215 INFO L146 ILogger]: Repository-Root is: /tmp [2019-05-23 09:36:42,227 INFO L146 ILogger]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-23 09:36:42,231 INFO L146 ILogger]: [Toolchain 1]: Toolchain selected. [2019-05-23 09:36:42,233 INFO L146 ILogger]: Initializing Boogie PL CUP Parser... [2019-05-23 09:36:42,233 INFO L146 ILogger]: Boogie PL CUP Parser initialized [2019-05-23 09:36:42,234 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:36:42,234 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:36:42,271 INFO L146 ILogger]: ####################### [Toolchain 1] ####################### [2019-05-23 09:36:42,273 INFO L146 ILogger]: Walking toolchain with 5 elements. [2019-05-23 09:36:42,274 INFO L146 ILogger]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-23 09:36:42,274 INFO L146 ILogger]: Initializing Boogie Procedure Inliner... [2019-05-23 09:36:42,274 INFO L146 ILogger]: Boogie Procedure Inliner initialized [2019-05-23 09:36:42,290 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:36:42" (1/1) ... [2019-05-23 09:36:42,302 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:36:42" (1/1) ... [2019-05-23 09:36:42,311 INFO L146 ILogger]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-23 09:36:42,312 INFO L146 ILogger]: ------------------------Boogie Preprocessor---------------------------- [2019-05-23 09:36:42,313 INFO L146 ILogger]: Initializing Boogie Preprocessor... [2019-05-23 09:36:42,313 INFO L146 ILogger]: Boogie Preprocessor initialized [2019-05-23 09:36:42,324 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:36:42" (1/1) ... [2019-05-23 09:36:42,324 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:36:42" (1/1) ... [2019-05-23 09:36:42,325 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:36:42" (1/1) ... [2019-05-23 09:36:42,326 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:36:42" (1/1) ... [2019-05-23 09:36:42,330 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:36:42" (1/1) ... [2019-05-23 09:36:42,333 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:36:42" (1/1) ... [2019-05-23 09:36:42,334 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:36:42" (1/1) ... [2019-05-23 09:36:42,335 INFO L146 ILogger]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-23 09:36:42,336 INFO L146 ILogger]: ------------------------RCFGBuilder---------------------------- [2019-05-23 09:36:42,336 INFO L146 ILogger]: Initializing RCFGBuilder... [2019-05-23 09:36:42,336 INFO L146 ILogger]: RCFGBuilder initialized [2019-05-23 09:36:42,337 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:36:42" (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:36:42,406 INFO L146 ILogger]: Found specification of procedure ULTIMATE.start [2019-05-23 09:36:42,407 INFO L146 ILogger]: Found implementation of procedure ULTIMATE.start [2019-05-23 09:36:42,922 INFO L146 ILogger]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-23 09:36:42,922 INFO L146 ILogger]: Removed 3 assume(true) statements. [2019-05-23 09:36:42,923 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.05 09:36:42 BoogieIcfgContainer [2019-05-23 09:36:42,924 INFO L146 ILogger]: ------------------------ END RCFGBuilder---------------------------- [2019-05-23 09:36:42,924 INFO L146 ILogger]: ------------------------IcfgTransformer---------------------------- [2019-05-23 09:36:42,924 INFO L146 ILogger]: Initializing IcfgTransformer... [2019-05-23 09:36:42,925 INFO L146 ILogger]: IcfgTransformer initialized [2019-05-23 09:36:42,927 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:36:42" (1/1) ... [2019-05-23 09:36:42,957 INFO L146 ILogger]: L45 [2019-05-23 09:36:42,957 INFO L146 ILogger]: In Formula: (= v_ULTIMATE.start_main_~key~5_3 (select v_ULTIMATE.start_main_~v~5_4 v_ULTIMATE.start_main_~j~5_6)) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_4, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_6} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_4, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_3, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~key~5] [2019-05-23 09:36:42,958 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_1 v_ULTIMATE.start_main_~j~5_6) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_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_~j~5_6))) (= v_ULTIMATE.start_main_~key~5_3 v_v_ULTIMATE.start_main_~v~5_4_aux_1) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) InVars {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_6, 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_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_1, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_3, ULTIMATE.start_main_~j~5=v_ULTIMATE.start_main_~j~5_6, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1} AuxVars[v_v_ULTIMATE.start_main_~v~5_4_aux_1] AssignedVars[ULTIMATE.start_main_~key~5] [2019-05-23 09:36:42,958 INFO L146 ILogger]: L46 [2019-05-23 09:36:42,961 INFO L146 ILogger]: L37 [2019-05-23 09:36:42,961 INFO L146 ILogger]: In Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= (select v_ULTIMATE.start_main_~v~5_3 (+ v_ULTIMATE.start_main_~k~5_5 (- 1))) (select v_ULTIMATE.start_main_~v~5_3 v_ULTIMATE.start_main_~k~5_5)) 1 0)) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_3, ULTIMATE.start_main_~k~5=v_ULTIMATE.start_main_~k~5_5} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_3, 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_5} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond] [2019-05-23 09:36:42,961 INFO L146 ILogger]: Out Formula: (and (or (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~k~5_5)) (= v_v_ULTIMATE.start_main_~v~5_3_aux_1 v_ULTIMATE.start_main_~v~5_val_0_in_2)) (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_v_ULTIMATE.start_main_~v~5_3_aux_2 v_v_ULTIMATE.start_main_~v~5_3_aux_1) 1 0)) (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 v_ULTIMATE.start_main_~k~5_5) (= v_ULTIMATE.start_main_~v~5_idx_0_term_2 (+ v_ULTIMATE.start_main_~k~5_5 (- 1))) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1)) (or (= v_v_ULTIMATE.start_main_~v~5_3_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_~k~5_5 (- 1))))) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_2, ULTIMATE.start_main_~k~5=v_ULTIMATE.start_main_~k~5_5, 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} OutVars{ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_2, 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_5, 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} AuxVars[v_v_ULTIMATE.start_main_~v~5_3_aux_2, v_v_ULTIMATE.start_main_~v~5_3_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond] [2019-05-23 09:36:42,962 INFO L146 ILogger]: L38 [2019-05-23 09:36:42,964 INFO L146 ILogger]: L48 [2019-05-23 09:36:42,964 INFO L146 ILogger]: In Formula: (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_5 v_ULTIMATE.start_main_~i~5_4)))) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_5, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_5, 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[] [2019-05-23 09:36:42,964 INFO L146 ILogger]: Out Formula: (and (or (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_4)) (= v_v_ULTIMATE.start_main_~v~5_5_aux_1 v_ULTIMATE.start_main_~v~5_val_0_in_3)) (or (not (<= 0 v_ULTIMATE.start_main_~i~5_4)) (and (not (< v_ULTIMATE.start_main_~key~5_4 v_v_ULTIMATE.start_main_~v~5_5_aux_1)) (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_4) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1))) InVars {ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_3, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_3, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4, 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_3, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_3, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1} AuxVars[v_v_ULTIMATE.start_main_~v~5_5_aux_1] AssignedVars[] [2019-05-23 09:36:42,964 INFO L146 ILogger]: L49 [2019-05-23 09:36:42,966 INFO L146 ILogger]: L49 [2019-05-23 09:36:42,967 INFO L146 ILogger]: In Formula: (= v_ULTIMATE.start_main_~v~5_6 (store v_ULTIMATE.start_main_~v~5_7 (+ v_ULTIMATE.start_main_~i~5_5 1) v_ULTIMATE.start_main_~key~5_5)) InVars {ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_7, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_5} OutVars{ULTIMATE.start_main_~v~5=v_ULTIMATE.start_main_~v~5_6, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_5} AuxVars[] AssignedVars[ULTIMATE.start_main_~v~5] [2019-05-23 09:36:42,967 INFO L146 ILogger]: Out Formula: (and (or (= v_ULTIMATE.start_main_~v~5_idx_0_term_4 (+ v_ULTIMATE.start_main_~i~5_5 1)) (not v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1)) (= v_ULTIMATE.start_main_~v~5_val_0_out_1 v_ULTIMATE.start_main_~v~5_val_0_in_4) (or (= v_ULTIMATE.start_main_~key~5_5 v_ULTIMATE.start_main_~v~5_val_0_in_4) (not (= v_ULTIMATE.start_main_~v~5_idx_0_term_4 (+ v_ULTIMATE.start_main_~i~5_5 1)))) v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~v~5_val_0=v_ULTIMATE.start_main_~v~5_val_0_in_4, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_4, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~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_out_1, ULTIMATE.start_main_~v~5_idx_0=v_ULTIMATE.start_main_~v~5_idx_0_term_4, ULTIMATE.start_main_~key~5=v_ULTIMATE.start_main_~key~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_5, ULTIMATE.start_main_~v~5_idx_0_bool=v_ULTIMATE.start_main_~v~5_idx_0_term_assigned_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~v~5_val_0] [2019-05-23 09:36:42,967 INFO L146 ILogger]: L50 [2019-05-23 09:36:42,976 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 23.05 09:36:42 BasicIcfg [2019-05-23 09:36:42,976 INFO L146 ILogger]: ------------------------ END IcfgTransformer---------------------------- [2019-05-23 09:36:42,978 INFO L146 ILogger]: ------------------------TraceAbstraction---------------------------- [2019-05-23 09:36:42,978 INFO L146 ILogger]: Initializing TraceAbstraction... [2019-05-23 09:36:42,981 INFO L146 ILogger]: TraceAbstraction initialized [2019-05-23 09:36:42,982 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:36:42" (1/3) ... [2019-05-23 09:36:42,983 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a32643b and model type insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.05 09:36:42, skipping insertion in model container [2019-05-23 09:36:42,983 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:36:42" (2/3) ... [2019-05-23 09:36:42,984 INFO L146 ILogger]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a32643b and model type insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 09:36:42, skipping insertion in model container [2019-05-23 09:36:42,984 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:36:42" (3/3) ... [2019-05-23 09:36:42,985 INFO L146 ILogger]: Analyzing ICFG insertion_sort.i_3.bplME [2019-05-23 09:36:42,995 INFO L146 ILogger]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-23 09:36:43,003 INFO L146 ILogger]: Appying trace abstraction to program that has 1 error locations. [2019-05-23 09:36:43,020 INFO L146 ILogger]: Starting to check reachability of 1 error locations. [2019-05-23 09:36:43,044 INFO L146 ILogger]: Using default assertion order modulation [2019-05-23 09:36:43,045 INFO L146 ILogger]: Interprodecural is true [2019-05-23 09:36:43,045 INFO L146 ILogger]: Hoare is false [2019-05-23 09:36:43,045 INFO L146 ILogger]: Compute interpolants for ForwardPredicates [2019-05-23 09:36:43,046 INFO L146 ILogger]: Backedges is STRAIGHT_LINE [2019-05-23 09:36:43,046 INFO L146 ILogger]: Determinization is PREDICATE_ABSTRACTION [2019-05-23 09:36:43,046 INFO L146 ILogger]: Difference is false [2019-05-23 09:36:43,046 INFO L146 ILogger]: Minimize is MINIMIZE_SEVPA [2019-05-23 09:36:43,046 INFO L146 ILogger]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-23 09:36:43,062 INFO L146 ILogger]: Start isEmpty. Operand 29 states. [2019-05-23 09:36:43,073 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 20 [2019-05-23 09:36:43,073 INFO L146 ILogger]: Found error trace [2019-05-23 09:36:43,074 INFO L146 ILogger]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-23 09:36:43,077 INFO L146 ILogger]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 09:36:43,082 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 09:36:43,083 INFO L146 ILogger]: Analyzing trace with hash -614443825, now seen corresponding path program 1 times [2019-05-23 09:36:43,127 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 09:36:43,191 INFO L146 ILogger]: Conjunction of SSA is unsat [2019-05-23 09:36:43,195 INFO L146 ILogger]: Trace formula consists of 31 conjuncts, 6 conjunts are in the unsatisfiable core [2019-05-23 09:36:43,200 INFO L146 ILogger]: Computing forward predicates... [2019-05-23 09:36:43,323 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:36:43,326 INFO L146 ILogger]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-23 09:36:43,326 INFO L146 ILogger]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2019-05-23 09:36:43,331 INFO L146 ILogger]: Interpolant automaton has 5 states [2019-05-23 09:36:43,346 INFO L146 ILogger]: Constructing interpolant automaton starting with 5 interpolants. [2019-05-23 09:36:43,347 INFO L146 ILogger]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2019-05-23 09:36:43,349 INFO L146 ILogger]: Start difference. First operand 29 states. Second operand 5 states. [2019-05-23 09:36:43,618 INFO L146 ILogger]: Subtrahend was deterministic. Have not used determinization. [2019-05-23 09:36:43,618 INFO L146 ILogger]: Finished difference Result 36 states and 36 transitions. [2019-05-23 09:36:43,621 INFO L146 ILogger]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-05-23 09:36:43,622 INFO L146 ILogger]: Start accepts. Automaton has 5 states. Word has length 19 [2019-05-23 09:36:43,623 INFO L146 ILogger]: Finished accepts. some prefix is accepted. [2019-05-23 09:36:43,632 INFO L146 ILogger]: With dead ends: 36 [2019-05-23 09:36:43,633 INFO L146 ILogger]: Without dead ends: 34 [2019-05-23 09:36:43,635 INFO L146 ILogger]: 0 DeclaredPredicates, 20 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=18, Invalid=24, Unknown=0, NotChecked=0, Total=42 [2019-05-23 09:36:43,650 INFO L146 ILogger]: Start minimizeSevpa. Operand 34 states. [2019-05-23 09:36:43,663 INFO L146 ILogger]: Finished minimizeSevpa. Reduced states from 34 to 28. [2019-05-23 09:36:43,665 INFO L146 ILogger]: Start removeUnreachable. Operand 28 states. [2019-05-23 09:36:43,666 INFO L146 ILogger]: Finished removeUnreachable. Reduced from 28 states to 28 states and 28 transitions. [2019-05-23 09:36:43,668 INFO L146 ILogger]: Start accepts. Automaton has 28 states and 28 transitions. Word has length 19 [2019-05-23 09:36:43,668 INFO L146 ILogger]: Finished accepts. word is rejected. [2019-05-23 09:36:43,668 INFO L146 ILogger]: Abstraction has 28 states and 28 transitions. [2019-05-23 09:36:43,669 INFO L146 ILogger]: Interpolant automaton has 5 states. [2019-05-23 09:36:43,669 INFO L146 ILogger]: Start isEmpty. Operand 28 states and 28 transitions. [2019-05-23 09:36:43,670 INFO L146 ILogger]: Finished isEmpty. Found accepting run of length 28 [2019-05-23 09:36:43,670 INFO L146 ILogger]: Found error trace [2019-05-23 09:36:43,670 INFO L146 ILogger]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-23 09:36:43,671 INFO L146 ILogger]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-23 09:36:43,671 INFO L146 ILogger]: Initialized classic predicate unifier [2019-05-23 09:36:43,671 INFO L146 ILogger]: Analyzing trace with hash 145185991, now seen corresponding path program 1 times [2019-05-23 09:36:43,673 INFO L146 ILogger]: Using refinement strategy FixedRefinementStrategy [2019-05-23 09:36:43,690 INFO L146 ILogger]: Conjunction of SSA is unsat [2019-05-23 09:36:43,692 INFO L146 ILogger]: Trace formula consists of 51 conjuncts, 5 conjunts are in the unsatisfiable core [2019-05-23 09:36:43,695 INFO L146 ILogger]: Computing forward predicates... [2019-05-23 09:36:44,210 WARN L146 ILogger]: Spent 199.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 8 [2019-05-23 09:36:44,219 INFO L146 ILogger]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-23 09:36:44,220 INFO L146 ILogger]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-23 09:36:44,220 INFO L146 ILogger]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2019-05-23 09:36:44,221 INFO L146 ILogger]: Interpolant automaton has 6 states [2019-05-23 09:36:44,222 INFO L146 ILogger]: Constructing interpolant automaton starting with 6 interpolants. [2019-05-23 09:36:44,222 INFO L146 ILogger]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2019-05-23 09:36:44,223 INFO L146 ILogger]: Start difference. First operand 28 states and 28 transitions. Second operand 6 states. [2019-05-23 09:36:44,338 INFO L146 ILogger]: Subtrahend was deterministic. Have not used determinization. [2019-05-23 09:36:44,339 INFO L146 ILogger]: Finished difference Result 15 states and 14 transitions. [2019-05-23 09:36:44,339 INFO L146 ILogger]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-05-23 09:36:44,339 INFO L146 ILogger]: Start accepts. Automaton has 6 states. Word has length 27 [2019-05-23 09:36:44,339 INFO L146 ILogger]: Finished accepts. some prefix is accepted. [2019-05-23 09:36:44,340 INFO L146 ILogger]: With dead ends: 15 [2019-05-23 09:36:44,340 INFO L146 ILogger]: Without dead ends: 0 [2019-05-23 09:36:44,341 INFO L146 ILogger]: 0 DeclaredPredicates, 28 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2019-05-23 09:36:44,341 INFO L146 ILogger]: Start minimizeSevpa. Operand 0 states. [2019-05-23 09:36:44,342 INFO L146 ILogger]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-05-23 09:36:44,342 INFO L146 ILogger]: Start removeUnreachable. Operand 0 states. [2019-05-23 09:36:44,342 INFO L146 ILogger]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-05-23 09:36:44,343 INFO L146 ILogger]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 27 [2019-05-23 09:36:44,343 INFO L146 ILogger]: Finished accepts. word is rejected. [2019-05-23 09:36:44,345 INFO L146 ILogger]: Abstraction has 0 states and 0 transitions. [2019-05-23 09:36:44,346 INFO L146 ILogger]: Interpolant automaton has 6 states. [2019-05-23 09:36:44,346 INFO L146 ILogger]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-23 09:36:44,346 INFO L146 ILogger]: Finished isEmpty. No accepting run. [2019-05-23 09:36:44,349 INFO L146 ILogger]: Did not count any witness invariants because Icfg is not BoogieIcfg [2019-05-23 09:36:44,351 INFO L146 ILogger]: Adding new model insertion_sort.i_3.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.05 09:36:44 BasicIcfg [2019-05-23 09:36:44,352 INFO L146 ILogger]: ------------------------ END TraceAbstraction---------------------------- [2019-05-23 09:36:44,355 INFO L146 ILogger]: Toolchain (without parser) took 2080.44 ms. Allocated memory was 141.6 MB in the beginning and 175.6 MB in the end (delta: 34.1 MB). Free memory was 111.3 MB in the beginning and 132.6 MB in the end (delta: -21.3 MB). Peak memory consumption was 12.8 MB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,357 INFO L146 ILogger]: Boogie PL CUP Parser took 0.20 ms. Allocated memory is still 141.6 MB. Free memory was 112.6 MB in the beginning and 112.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,358 INFO L146 ILogger]: Boogie Procedure Inliner took 38.48 ms. Allocated memory is still 141.6 MB. Free memory was 111.1 MB in the beginning and 109.4 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,360 INFO L146 ILogger]: Boogie Preprocessor took 22.90 ms. Allocated memory is still 141.6 MB. Free memory was 109.4 MB in the beginning and 108.2 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,361 INFO L146 ILogger]: RCFGBuilder took 587.54 ms. Allocated memory is still 141.6 MB. Free memory was 108.2 MB in the beginning and 97.1 MB in the end (delta: 11.1 MB). Peak memory consumption was 11.1 MB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,362 INFO L146 ILogger]: IcfgTransformer took 52.62 ms. Allocated memory is still 141.6 MB. Free memory was 97.1 MB in the beginning and 93.4 MB in the end (delta: 3.7 MB). Peak memory consumption was 3.7 MB. Max. memory is 7.1 GB. [2019-05-23 09:36:44,363 INFO L146 ILogger]: TraceAbstraction took 1373.82 ms. Allocated memory was 141.6 MB in the beginning and 175.6 MB in the end (delta: 34.1 MB). Free memory was 93.2 MB in the beginning and 132.6 MB in the end (delta: -39.4 MB). There was no memory consumed. Max. memory is 7.1 GB. [2019-05-23 09:36:44,374 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.20 ms. Allocated memory is still 141.6 MB. Free memory was 112.6 MB in the beginning and 112.4 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 38.48 ms. Allocated memory is still 141.6 MB. Free memory was 111.1 MB in the beginning and 109.4 MB in the end (delta: 1.8 MB). Peak memory consumption was 1.8 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 22.90 ms. Allocated memory is still 141.6 MB. Free memory was 109.4 MB in the beginning and 108.2 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 587.54 ms. Allocated memory is still 141.6 MB. Free memory was 108.2 MB in the beginning and 97.1 MB in the end (delta: 11.1 MB). Peak memory consumption was 11.1 MB. Max. memory is 7.1 GB. * IcfgTransformer took 52.62 ms. Allocated memory is still 141.6 MB. Free memory was 97.1 MB in the beginning and 93.4 MB in the end (delta: 3.7 MB). Peak memory consumption was 3.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 1373.82 ms. Allocated memory was 141.6 MB in the beginning and 175.6 MB in the end (delta: 34.1 MB). Free memory was 93.2 MB in the beginning and 132.6 MB in the end (delta: -39.4 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 55]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 29 locations, 1 error locations. SAFE Result, 1.3s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.4s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 29 SDtfs, 13 SDslu, 59 SDs, 0 SdLazy, 46 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 48 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=29occurred 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, 2 MinimizatonAttempts, 6 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 46 NumberOfCodeBlocks, 46 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 44 ConstructedInterpolants, 0 QuantifiedInterpolants, 1746 SizeOfPredicates, 8 NumberOfNonLiveVariables, 82 ConjunctsInSsa, 11 ConjunctsInUnsatCore, 2 InterpolantComputations, 2 PerfectInterpolantSequences, 1/1 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...