java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInlineTransformed.xml --icfgtransformation.transformationtype MAP_ELIMINATION_MONNIAUX --rcfgbuilder.size.of.a.code.block SingleStatement -i ../../../trunk/examples/programs/20170304-DifficultPathPrograms/array4.i_4.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1c58c86 [2019-05-15 10:43:01,338 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-05-15 10:43:01,340 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-05-15 10:43:01,352 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-15 10:43:01,353 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-05-15 10:43:01,354 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-15 10:43:01,355 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-05-15 10:43:01,357 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-05-15 10:43:01,359 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-05-15 10:43:01,360 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-05-15 10:43:01,361 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-05-15 10:43:01,361 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-05-15 10:43:01,362 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-05-15 10:43:01,363 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-05-15 10:43:01,364 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-05-15 10:43:01,365 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-15 10:43:01,366 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-05-15 10:43:01,368 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-15 10:43:01,370 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-05-15 10:43:01,372 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-05-15 10:43:01,373 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-05-15 10:43:01,374 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-05-15 10:43:01,377 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-15 10:43:01,377 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-15 10:43:01,378 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-05-15 10:43:01,379 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-05-15 10:43:01,379 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-05-15 10:43:01,380 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-05-15 10:43:01,380 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-05-15 10:43:01,381 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-05-15 10:43:01,382 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-05-15 10:43:01,383 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-05-15 10:43:01,384 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-15 10:43:01,384 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-05-15 10:43:01,385 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-05-15 10:43:01,385 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-05-15 10:43:01,385 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-05-15 10:43:01,386 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-05-15 10:43:01,387 INFO L181 SettingsManager]: Finished resetting all preferences to default values... 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 [2019-05-15 10:43:01,418 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-05-15 10:43:01,431 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-15 10:43:01,434 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-05-15 10:43:01,436 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-05-15 10:43:01,436 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2019-05-15 10:43:01,437 INFO L430 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/array4.i_4.bpl [2019-05-15 10:43:01,437 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/array4.i_4.bpl' [2019-05-15 10:43:01,474 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-05-15 10:43:01,476 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2019-05-15 10:43:01,477 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-15 10:43:01,477 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-05-15 10:43:01,477 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2019-05-15 10:43:01,493 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,504 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,512 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-15 10:43:01,513 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-05-15 10:43:01,513 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-05-15 10:43:01,513 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-05-15 10:43:01,525 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,525 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,526 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,526 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,535 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,537 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,538 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/1) ... [2019-05-15 10:43:01,540 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-15 10:43:01,540 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-05-15 10:43:01,541 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-05-15 10:43:01,541 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-05-15 10:43:01,542 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (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:1024 -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:1024 -smt2 -in -t:12000 [2019-05-15 10:43:01,609 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-05-15 10:43:01,610 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-05-15 10:43:02,216 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-15 10:43:02,217 INFO L283 CfgBuilder]: Removed 2 assume(true) statements. [2019-05-15 10:43:02,218 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:43:02 BoogieIcfgContainer [2019-05-15 10:43:02,218 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-05-15 10:43:02,219 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2019-05-15 10:43:02,219 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2019-05-15 10:43:02,220 INFO L275 PluginConnector]: IcfgTransformer initialized [2019-05-15 10:43:02,224 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:43:02" (1/1) ... [2019-05-15 10:43:02,278 INFO L632 onniauxMapEliminator]: L25 [2019-05-15 10:43:02,279 INFO L633 onniauxMapEliminator]: In Formula: (= v_ULTIMATE.start_main_~A~5_3 (store v_ULTIMATE.start_main_~A~5_4 1023 0)) InVars {ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_4} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_3} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5] [2019-05-15 10:43:02,279 INFO L634 onniauxMapEliminator]: Out Formula: (and (= v_ULTIMATE.start_main_~A~5_val_0_out_1 v_ULTIMATE.start_main_~A~5_val_0_in_1) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_1 1023)) (= v_ULTIMATE.start_main_~A~5_val_0_in_1 0)) (or (= v_ULTIMATE.start_main_~A~5_idx_0_term_1 1023) (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1))) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_1} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_out_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0] [2019-05-15 10:43:02,279 INFO L635 onniauxMapEliminator]: L26 [2019-05-15 10:43:02,318 INFO L632 onniauxMapEliminator]: L31 [2019-05-15 10:43:02,319 INFO L633 onniauxMapEliminator]: In Formula: (= v_ULTIMATE.start_main_~A~5_5 (store v_ULTIMATE.start_main_~A~5_6 v_ULTIMATE.start_main_~i~5_7 |v_ULTIMATE.start_main_#t~nondet1_3|)) InVars {ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_6, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5] [2019-05-15 10:43:02,319 INFO L634 onniauxMapEliminator]: Out Formula: (and (or (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7) (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|) (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7))) (= v_ULTIMATE.start_main_~A~5_val_0_out_2 v_ULTIMATE.start_main_~A~5_val_0_in_2)) InVars {ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_2, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_2, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_2, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_out_2, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0] [2019-05-15 10:43:02,319 INFO L635 onniauxMapEliminator]: L32 [2019-05-15 10:43:02,333 INFO L632 onniauxMapEliminator]: L55 [2019-05-15 10:43:02,334 INFO L633 onniauxMapEliminator]: In Formula: (= (select v_ULTIMATE.start_main_~A~5_7 v_ULTIMATE.start_main_~i~5_10) 0) InVars {ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_7, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_7, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} AuxVars[] AssignedVars[] [2019-05-15 10:43:02,334 INFO L634 onniauxMapEliminator]: Out Formula: (and (= 0 v_v_ULTIMATE.start_main_~A~5_7_aux_1) (or (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10)) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_7_aux_1)) (or (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10) (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_7_aux_1] AssignedVars[] [2019-05-15 10:43:02,334 INFO L635 onniauxMapEliminator]: L44 [2019-05-15 10:43:02,337 INFO L632 onniauxMapEliminator]: L55 [2019-05-15 10:43:02,337 INFO L633 onniauxMapEliminator]: In Formula: (not (= (select v_ULTIMATE.start_main_~A~5_8 v_ULTIMATE.start_main_~i~5_12) 0)) InVars {ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_8, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_12} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_8, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_12} AuxVars[] AssignedVars[] [2019-05-15 10:43:02,337 INFO L634 onniauxMapEliminator]: Out Formula: (and (or (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12)) (= v_ULTIMATE.start_main_~A~5_val_0_in_4 v_v_ULTIMATE.start_main_~A~5_8_aux_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12) (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) (not (= 0 v_v_ULTIMATE.start_main_~A~5_8_aux_1))) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_4, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_12} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_4, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_12} AuxVars[v_v_ULTIMATE.start_main_~A~5_8_aux_1] AssignedVars[] [2019-05-15 10:43:02,338 INFO L635 onniauxMapEliminator]: L52 [2019-05-15 10:43:02,370 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 15.05 10:43:02 BasicIcfg [2019-05-15 10:43:02,370 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2019-05-15 10:43:02,371 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-05-15 10:43:02,371 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-05-15 10:43:02,375 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-05-15 10:43:02,375 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 15.05 10:43:01" (1/3) ... [2019-05-15 10:43:02,376 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f7fe6aa and model type array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.05 10:43:02, skipping insertion in model container [2019-05-15 10:43:02,376 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:43:02" (2/3) ... [2019-05-15 10:43:02,377 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@f7fe6aa and model type array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.05 10:43:02, skipping insertion in model container [2019-05-15 10:43:02,377 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 15.05 10:43:02" (3/3) ... [2019-05-15 10:43:02,379 INFO L109 eAbstractionObserver]: Analyzing ICFG array4.i_4.bplME [2019-05-15 10:43:02,389 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-15 10:43:02,399 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2019-05-15 10:43:02,417 INFO L252 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2019-05-15 10:43:02,449 INFO L127 ementStrategyFactory]: Using default assertion order modulation [2019-05-15 10:43:02,450 INFO L377 AbstractCegarLoop]: Interprodecural is true [2019-05-15 10:43:02,450 INFO L378 AbstractCegarLoop]: Hoare is false [2019-05-15 10:43:02,450 INFO L379 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2019-05-15 10:43:02,450 INFO L380 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-05-15 10:43:02,450 INFO L381 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-05-15 10:43:02,451 INFO L382 AbstractCegarLoop]: Difference is false [2019-05-15 10:43:02,451 INFO L383 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-05-15 10:43:02,451 INFO L388 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-15 10:43:02,466 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2019-05-15 10:43:02,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2019-05-15 10:43:02,475 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:43:02,476 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:43:02,479 INFO L418 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:43:02,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:43:02,484 INFO L82 PathProgramCache]: Analyzing trace with hash 586080499, now seen corresponding path program 1 times [2019-05-15 10:43:02,537 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:43:02,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:43:02,574 INFO L256 TraceCheckSpWp]: Trace formula consists of 30 conjuncts, 2 conjunts are in the unsatisfiable core [2019-05-15 10:43:02,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:43:02,604 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:43:02,731 INFO L273 TraceCheckUtils]: 0: Hoare triple {30#true} [39] ULTIMATE.startENTRY-->L13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res] {30#true} is VALID [2019-05-15 10:43:02,732 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} [40] L13-->L14: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_1|, ULTIMATE.start_main_#t~post2=|v_ULTIMATE.start_main_#t~post2_1|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_1, ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_1|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_1} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet1, ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {30#true} is VALID [2019-05-15 10:43:02,732 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} [41] L14-->L15: Formula: true InVars {} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_2} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5] {30#true} is VALID [2019-05-15 10:43:02,733 INFO L273 TraceCheckUtils]: 3: Hoare triple {30#true} [42] L15-->L16: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_2} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {30#true} is VALID [2019-05-15 10:43:02,735 INFO L273 TraceCheckUtils]: 4: Hoare triple {30#true} [43] L16-->L36: Formula: (= v_ULTIMATE.start_main_~i~5_3 0) InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_3} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {47#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:43:02,737 INFO L273 TraceCheckUtils]: 5: Hoare triple {47#(<= ULTIMATE.start_main_~i~5 0)} [44] L36-->L25: Formula: (not (< v_ULTIMATE.start_main_~i~5_4 1023)) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} AuxVars[] AssignedVars[] {31#false} is VALID [2019-05-15 10:43:02,738 INFO L273 TraceCheckUtils]: 6: Hoare triple {31#false} [46] L25-->L26: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_1 1023))) (and (= v_ULTIMATE.start_main_~A~5_val_0_out_1 v_ULTIMATE.start_main_~A~5_val_0_in_1) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_1 0)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)))) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_1} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_out_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0] {31#false} is VALID [2019-05-15 10:43:02,738 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#false} [48] L26-->L55: Formula: (= v_ULTIMATE.start_main_~i~5_5 0) InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_5} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {31#false} is VALID [2019-05-15 10:43:02,739 INFO L273 TraceCheckUtils]: 8: Hoare triple {31#false} [50] L55-->L44: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10))) (and (= 0 v_v_ULTIMATE.start_main_~A~5_7_aux_1) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_7_aux_1)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_7_aux_1] AssignedVars[] {31#false} is VALID [2019-05-15 10:43:02,739 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} [53] L44-->L45: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_11 1024) 1 0)) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_11} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_11} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond] {31#false} is VALID [2019-05-15 10:43:02,740 INFO L273 TraceCheckUtils]: 10: Hoare triple {31#false} [56] L45-->L46: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond] {31#false} is VALID [2019-05-15 10:43:02,740 INFO L273 TraceCheckUtils]: 11: Hoare triple {31#false} [59] L46-->L47: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~cond_2 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_2, ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond] {31#false} is VALID [2019-05-15 10:43:02,740 INFO L273 TraceCheckUtils]: 12: Hoare triple {31#false} [62] L47-->L48: Formula: (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_3) InVars {ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_3} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {31#false} is VALID [2019-05-15 10:43:02,741 INFO L273 TraceCheckUtils]: 13: Hoare triple {31#false} [63] L48-->L49: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {31#false} is VALID [2019-05-15 10:43:02,741 INFO L273 TraceCheckUtils]: 14: Hoare triple {31#false} [64] L49-->ULTIMATE.startErr0ASSERT_VIOLATIONASSERT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {31#false} is VALID [2019-05-15 10:43:02,745 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:43:02,748 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:43:02,748 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2019-05-15 10:43:02,753 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 15 [2019-05-15 10:43:02,755 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:43:02,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-05-15 10:43:02,869 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:43:02,870 INFO L454 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-05-15 10:43:02,880 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-05-15 10:43:02,881 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-15 10:43:02,884 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 3 states. [2019-05-15 10:43:03,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:03,313 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2019-05-15 10:43:03,313 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-05-15 10:43:03,313 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 15 [2019-05-15 10:43:03,313 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:43:03,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-05-15 10:43:03,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2019-05-15 10:43:03,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-05-15 10:43:03,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 45 transitions. [2019-05-15 10:43:03,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 45 transitions. [2019-05-15 10:43:03,517 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:43:03,532 INFO L225 Difference]: With dead ends: 41 [2019-05-15 10:43:03,532 INFO L226 Difference]: Without dead ends: 41 [2019-05-15 10:43:03,534 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 13 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-15 10:43:03,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2019-05-15 10:43:03,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 26. [2019-05-15 10:43:03,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:43:03,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 26 states. [2019-05-15 10:43:03,565 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 26 states. [2019-05-15 10:43:03,565 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 26 states. [2019-05-15 10:43:03,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:03,570 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2019-05-15 10:43:03,571 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2019-05-15 10:43:03,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:43:03,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:43:03,572 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 41 states. [2019-05-15 10:43:03,572 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 41 states. [2019-05-15 10:43:03,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:03,576 INFO L93 Difference]: Finished difference Result 41 states and 42 transitions. [2019-05-15 10:43:03,577 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 42 transitions. [2019-05-15 10:43:03,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:43:03,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:43:03,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:43:03,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:43:03,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-05-15 10:43:03,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 27 transitions. [2019-05-15 10:43:03,584 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 27 transitions. Word has length 15 [2019-05-15 10:43:03,584 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:43:03,584 INFO L475 AbstractCegarLoop]: Abstraction has 26 states and 27 transitions. [2019-05-15 10:43:03,584 INFO L476 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-05-15 10:43:03,584 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 27 transitions. [2019-05-15 10:43:03,585 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2019-05-15 10:43:03,585 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:43:03,586 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2019-05-15 10:43:03,586 INFO L418 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:43:03,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:43:03,587 INFO L82 PathProgramCache]: Analyzing trace with hash -1943445640, now seen corresponding path program 1 times [2019-05-15 10:43:03,588 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:43:03,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:43:03,608 INFO L256 TraceCheckSpWp]: Trace formula consists of 44 conjuncts, 4 conjunts are in the unsatisfiable core [2019-05-15 10:43:03,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:43:03,625 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:43:03,784 INFO L273 TraceCheckUtils]: 0: Hoare triple {226#true} [39] ULTIMATE.startENTRY-->L13: Formula: true InVars {} OutVars{ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_1|} AuxVars[] AssignedVars[ULTIMATE.start_main_#res] {226#true} is VALID [2019-05-15 10:43:03,785 INFO L273 TraceCheckUtils]: 1: Hoare triple {226#true} [40] L13-->L14: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_1|, ULTIMATE.start_main_#t~post2=|v_ULTIMATE.start_main_#t~post2_1|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_1, ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_1|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_1} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet1, ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {226#true} is VALID [2019-05-15 10:43:03,785 INFO L273 TraceCheckUtils]: 2: Hoare triple {226#true} [41] L14-->L15: Formula: true InVars {} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_2} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5] {226#true} is VALID [2019-05-15 10:43:03,786 INFO L273 TraceCheckUtils]: 3: Hoare triple {226#true} [42] L15-->L16: Formula: true InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_2} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {226#true} is VALID [2019-05-15 10:43:03,795 INFO L273 TraceCheckUtils]: 4: Hoare triple {226#true} [43] L16-->L36: Formula: (= v_ULTIMATE.start_main_~i~5_3 0) InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_3} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {243#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:43:03,808 INFO L273 TraceCheckUtils]: 5: Hoare triple {243#(<= ULTIMATE.start_main_~i~5 0)} [45] L36-->L30: Formula: (< v_ULTIMATE.start_main_~i~5_6 1023) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[] {243#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:43:03,824 INFO L273 TraceCheckUtils]: 6: Hoare triple {243#(<= ULTIMATE.start_main_~i~5 0)} [47] L30-->L31: Formula: (and (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_2| 2147483648)) (<= |v_ULTIMATE.start_main_#t~nondet1_2| 2147483647)) InVars {ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|} AuxVars[] AssignedVars[] {243#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:43:03,833 INFO L273 TraceCheckUtils]: 7: Hoare triple {243#(<= ULTIMATE.start_main_~i~5 0)} [49] L31-->L32: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_7))) (and (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|) (not .cse0)) (= v_ULTIMATE.start_main_~A~5_val_0_out_2 v_ULTIMATE.start_main_~A~5_val_0_in_2))) InVars {ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_2, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_2, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_3|, ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_2, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_out_2, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,843 INFO L273 TraceCheckUtils]: 8: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [52] L32-->L33: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~nondet1] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,844 INFO L273 TraceCheckUtils]: 9: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [55] L33-->L34: Formula: (= |v_ULTIMATE.start_main_#t~post0_2| v_ULTIMATE.start_main_~i~5_8) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_8} OutVars{ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_2|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_8} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post0] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,846 INFO L273 TraceCheckUtils]: 10: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [58] L34-->L35: Formula: (= v_ULTIMATE.start_main_~i~5_9 (+ |v_ULTIMATE.start_main_#t~post0_3| 1)) InVars {ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_3|} OutVars{ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_3|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_9} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,848 INFO L273 TraceCheckUtils]: 11: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [61] L35-->L36: Formula: true InVars {} OutVars{ULTIMATE.start_main_#t~post0=|v_ULTIMATE.start_main_#t~post0_4|} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post0] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,849 INFO L273 TraceCheckUtils]: 12: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [44] L36-->L25: Formula: (not (< v_ULTIMATE.start_main_~i~5_4 1023)) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_4} AuxVars[] AssignedVars[] {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} is VALID [2019-05-15 10:43:03,851 INFO L273 TraceCheckUtils]: 13: Hoare triple {253#(and ULTIMATE.start_main_~A~5_idx_0_bool (<= ULTIMATE.start_main_~A~5_idx_0 0))} [46] L25-->L26: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_1 1023))) (and (= v_ULTIMATE.start_main_~A~5_val_0_out_1 v_ULTIMATE.start_main_~A~5_val_0_in_1) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_1 0)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)))) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_1} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_1, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_out_1} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0] {227#false} is VALID [2019-05-15 10:43:03,851 INFO L273 TraceCheckUtils]: 14: Hoare triple {227#false} [48] L26-->L55: Formula: (= v_ULTIMATE.start_main_~i~5_5 0) InVars {} OutVars{ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_5} AuxVars[] AssignedVars[ULTIMATE.start_main_~i~5] {227#false} is VALID [2019-05-15 10:43:03,851 INFO L273 TraceCheckUtils]: 15: Hoare triple {227#false} [50] L55-->L44: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10))) (and (= 0 v_v_ULTIMATE.start_main_~A~5_7_aux_1) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_7_aux_1)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) InVars {ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} OutVars{ULTIMATE.start_main_~A~5_idx_0=v_ULTIMATE.start_main_~A~5_idx_0_term_3, ULTIMATE.start_main_~A~5_idx_0_bool=v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1, ULTIMATE.start_main_~A~5_val_0=v_ULTIMATE.start_main_~A~5_val_0_in_3, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_7_aux_1] AssignedVars[] {227#false} is VALID [2019-05-15 10:43:03,852 INFO L273 TraceCheckUtils]: 16: Hoare triple {227#false} [53] L44-->L45: Formula: (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_11 1024) 1 0)) InVars {ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_11} OutVars{ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_11} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_#in~cond] {227#false} is VALID [2019-05-15 10:43:03,852 INFO L273 TraceCheckUtils]: 17: Hoare triple {227#false} [56] L45-->L46: Formula: true InVars {} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_1} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond] {227#false} is VALID [2019-05-15 10:43:03,853 INFO L273 TraceCheckUtils]: 18: Hoare triple {227#false} [59] L46-->L47: Formula: (= v_ULTIMATE.start___VERIFIER_assert_~cond_2 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|) InVars {ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_2, ULTIMATE.start___VERIFIER_assert_#in~cond=|v_ULTIMATE.start___VERIFIER_assert_#in~cond_2|} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond] {227#false} is VALID [2019-05-15 10:43:03,853 INFO L273 TraceCheckUtils]: 19: Hoare triple {227#false} [62] L47-->L48: Formula: (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_3) InVars {ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_3} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_3} AuxVars[] AssignedVars[] {227#false} is VALID [2019-05-15 10:43:03,853 INFO L273 TraceCheckUtils]: 20: Hoare triple {227#false} [63] L48-->L49: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {227#false} is VALID [2019-05-15 10:43:03,853 INFO L273 TraceCheckUtils]: 21: Hoare triple {227#false} [64] L49-->ULTIMATE.startErr0ASSERT_VIOLATIONASSERT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {227#false} is VALID [2019-05-15 10:43:03,857 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-05-15 10:43:03,857 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:43:03,857 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4] total 4 [2019-05-15 10:43:03,859 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2019-05-15 10:43:03,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:43:03,860 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-05-15 10:43:03,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:43:03,992 INFO L454 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-05-15 10:43:03,993 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-05-15 10:43:03,993 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:43:03,993 INFO L87 Difference]: Start difference. First operand 26 states and 27 transitions. Second operand 4 states. [2019-05-15 10:43:04,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:04,256 INFO L93 Difference]: Finished difference Result 16 states and 16 transitions. [2019-05-15 10:43:04,256 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-05-15 10:43:04,257 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2019-05-15 10:43:04,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:43:04,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:43:04,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2019-05-15 10:43:04,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:43:04,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 17 transitions. [2019-05-15 10:43:04,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 17 transitions. [2019-05-15 10:43:04,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:43:04,419 INFO L225 Difference]: With dead ends: 16 [2019-05-15 10:43:04,420 INFO L226 Difference]: Without dead ends: 0 [2019-05-15 10:43:04,424 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2019-05-15 10:43:04,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-05-15 10:43:04,425 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-05-15 10:43:04,425 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:43:04,425 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-05-15 10:43:04,425 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:43:04,425 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:43:04,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:04,426 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:43:04,426 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:43:04,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:43:04,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:43:04,426 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:43:04,430 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:43:04,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:43:04,430 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:43:04,430 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:43:04,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:43:04,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:43:04,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:43:04,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:43:04,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-05-15 10:43:04,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-05-15 10:43:04,435 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 22 [2019-05-15 10:43:04,435 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:43:04,435 INFO L475 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-05-15 10:43:04,435 INFO L476 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-05-15 10:43:04,436 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:43:04,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:43:04,440 INFO L303 ceAbstractionStarter]: Did not count any witness invariants because Icfg is not BoogieIcfg [2019-05-15 10:43:04,445 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.05 10:43:04 BasicIcfg [2019-05-15 10:43:04,445 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-05-15 10:43:04,447 INFO L168 Benchmark]: Toolchain (without parser) took 2971.68 ms. Allocated memory was 135.8 MB in the beginning and 168.3 MB in the end (delta: 32.5 MB). Free memory was 113.4 MB in the beginning and 91.6 MB in the end (delta: 21.7 MB). Peak memory consumption was 54.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,452 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.18 ms. Allocated memory is still 135.8 MB. Free memory is still 114.6 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-05-15 10:43:04,453 INFO L168 Benchmark]: Boogie Procedure Inliner took 35.81 ms. Allocated memory is still 135.8 MB. Free memory was 113.2 MB in the beginning and 111.4 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,454 INFO L168 Benchmark]: Boogie Preprocessor took 26.83 ms. Allocated memory is still 135.8 MB. Free memory was 111.4 MB in the beginning and 110.3 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,456 INFO L168 Benchmark]: RCFGBuilder took 678.30 ms. Allocated memory is still 135.8 MB. Free memory was 110.3 MB in the beginning and 96.8 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,457 INFO L168 Benchmark]: IcfgTransformer took 150.94 ms. Allocated memory is still 135.8 MB. Free memory was 96.8 MB in the beginning and 90.6 MB in the end (delta: 6.1 MB). Peak memory consumption was 6.1 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,459 INFO L168 Benchmark]: TraceAbstraction took 2073.89 ms. Allocated memory was 135.8 MB in the beginning and 168.3 MB in the end (delta: 32.5 MB). Free memory was 90.4 MB in the beginning and 91.6 MB in the end (delta: -1.2 MB). Peak memory consumption was 31.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:43:04,464 INFO L337 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.18 ms. Allocated memory is still 135.8 MB. Free memory is still 114.6 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 35.81 ms. Allocated memory is still 135.8 MB. Free memory was 113.2 MB in the beginning and 111.4 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 26.83 ms. Allocated memory is still 135.8 MB. Free memory was 111.4 MB in the beginning and 110.3 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 678.30 ms. Allocated memory is still 135.8 MB. Free memory was 110.3 MB in the beginning and 96.8 MB in the end (delta: 13.6 MB). Peak memory consumption was 13.6 MB. Max. memory is 7.1 GB. * IcfgTransformer took 150.94 ms. Allocated memory is still 135.8 MB. Free memory was 96.8 MB in the beginning and 90.6 MB in the end (delta: 6.1 MB). Peak memory consumption was 6.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 2073.89 ms. Allocated memory was 135.8 MB in the beginning and 168.3 MB in the end (delta: 32.5 MB). Free memory was 90.4 MB in the beginning and 91.6 MB in the end (delta: -1.2 MB). Peak memory consumption was 31.3 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 57]: 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, 27 locations, 1 error locations. SAFE Result, 2.0s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 1.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 30 SDtfs, 20 SDslu, 23 SDs, 0 SdLazy, 31 SolverSat, 2 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=27occurred 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, 15 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.4s InterpolantComputationTime, 37 NumberOfCodeBlocks, 37 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 35 ConstructedInterpolants, 0 QuantifiedInterpolants, 1295 SizeOfPredicates, 4 NumberOfNonLiveVariables, 74 ConjunctsInSsa, 6 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 0/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...