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 -i ../../../trunk/examples/programs/20170304-DifficultPathPrograms/array4.i_4.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1c58c86 [2019-05-15 10:56:00,140 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-05-15 10:56:00,142 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-05-15 10:56:00,153 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-05-15 10:56:00,154 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-05-15 10:56:00,155 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-05-15 10:56:00,156 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-05-15 10:56:00,158 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-05-15 10:56:00,160 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-05-15 10:56:00,161 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-05-15 10:56:00,162 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-05-15 10:56:00,162 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-05-15 10:56:00,163 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-05-15 10:56:00,164 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-05-15 10:56:00,165 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-05-15 10:56:00,166 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-05-15 10:56:00,167 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-05-15 10:56:00,169 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-05-15 10:56:00,171 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-05-15 10:56:00,173 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-05-15 10:56:00,174 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-05-15 10:56:00,175 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-05-15 10:56:00,177 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-05-15 10:56:00,178 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-05-15 10:56:00,178 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-05-15 10:56:00,179 INFO L174 SettingsManager]: Resetting IcfgToChc preferences to default values [2019-05-15 10:56:00,179 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-05-15 10:56:00,180 INFO L177 SettingsManager]: ReqToTest provides no preferences, ignoring... [2019-05-15 10:56:00,180 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-05-15 10:56:00,181 INFO L174 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2019-05-15 10:56:00,182 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-05-15 10:56:00,183 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-05-15 10:56:00,184 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-05-15 10:56:00,184 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-05-15 10:56:00,185 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-05-15 10:56:00,185 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-05-15 10:56:00,185 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-05-15 10:56:00,186 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-05-15 10:56:00,187 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 [2019-05-15 10:56:00,222 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-05-15 10:56:00,234 INFO L259 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-05-15 10:56:00,237 INFO L215 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-05-15 10:56:00,239 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-05-15 10:56:00,239 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2019-05-15 10:56:00,240 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:56:00,241 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/20170304-DifficultPathPrograms/array4.i_4.bpl' [2019-05-15 10:56:00,280 INFO L297 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-05-15 10:56:00,282 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2019-05-15 10:56:00,282 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-05-15 10:56:00,283 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-05-15 10:56:00,283 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2019-05-15 10:56:00,299 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:56:00" (1/1) ... [2019-05-15 10:56:00,311 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:56:00" (1/1) ... [2019-05-15 10:56:00,318 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-05-15 10:56:00,319 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-05-15 10:56:00,319 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-05-15 10:56:00,320 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2019-05-15 10:56:00,330 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:56:00" (1/1) ... [2019-05-15 10:56:00,331 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:56:00" (1/1) ... [2019-05-15 10:56:00,332 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:56:00" (1/1) ... [2019-05-15 10:56:00,332 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:56:00" (1/1) ... [2019-05-15 10:56:00,336 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:56:00" (1/1) ... [2019-05-15 10:56:00,338 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:56:00" (1/1) ... [2019-05-15 10:56:00,339 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:56:00" (1/1) ... [2019-05-15 10:56:00,340 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-05-15 10:56:00,341 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-05-15 10:56:00,341 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-05-15 10:56:00,341 INFO L275 PluginConnector]: RCFGBuilder initialized [2019-05-15 10:56:00,342 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:56:00" (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:56:00,415 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-05-15 10:56:00,415 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-05-15 10:56:00,865 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-05-15 10:56:00,865 INFO L283 CfgBuilder]: Removed 2 assume(true) statements. [2019-05-15 10:56:00,867 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.05 10:56:00 BoogieIcfgContainer [2019-05-15 10:56:00,867 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-05-15 10:56:00,867 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2019-05-15 10:56:00,868 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2019-05-15 10:56:00,868 INFO L275 PluginConnector]: IcfgTransformer initialized [2019-05-15 10:56:00,872 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:56:00" (1/1) ... [2019-05-15 10:56:00,945 INFO L632 onniauxMapEliminator]: L36 [2019-05-15 10:56:00,945 INFO L633 onniauxMapEliminator]: In Formula: (and (= v_ULTIMATE.start_main_~i~5_6 0) (= v_ULTIMATE.start_main_~A~5_4 (store v_ULTIMATE.start_main_~A~5_5 1023 0)) (not (< v_ULTIMATE.start_main_~i~5_7 1023))) InVars {ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_5, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} OutVars{ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_4, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:00,946 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_~i~5_6 0) 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)) (not (< v_ULTIMATE.start_main_~i~5_7 1023)) (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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} 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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:00,946 INFO L635 onniauxMapEliminator]: L55 [2019-05-15 10:56:00,968 INFO L632 onniauxMapEliminator]: L36 [2019-05-15 10:56:00,968 INFO L633 onniauxMapEliminator]: In Formula: (and (= (+ v_ULTIMATE.start_main_~i~5_9 1) v_ULTIMATE.start_main_~i~5_8) (<= |v_ULTIMATE.start_main_#t~nondet1_3| 2147483647) (< v_ULTIMATE.start_main_~i~5_9 1023) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_3| 2147483648)) (= v_ULTIMATE.start_main_~A~5_6 (store v_ULTIMATE.start_main_~A~5_7 v_ULTIMATE.start_main_~i~5_9 |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_7, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_9} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_6, 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~nondet1, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:00,969 INFO L634 onniauxMapEliminator]: Out Formula: (and (= (+ v_ULTIMATE.start_main_~i~5_9 1) v_ULTIMATE.start_main_~i~5_8) (or (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_9)) (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) (or (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_9) (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) (<= |v_ULTIMATE.start_main_#t~nondet1_3| 2147483647) (< v_ULTIMATE.start_main_~i~5_9 1023) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_3| 2147483648)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (= 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_9} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|, 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_#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~nondet1, ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:00,969 INFO L635 onniauxMapEliminator]: L36 [2019-05-15 10:56:00,983 INFO L632 onniauxMapEliminator]: L55 [2019-05-15 10:56:00,983 INFO L633 onniauxMapEliminator]: In Formula: (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_1) (= (select v_ULTIMATE.start_main_~A~5_8 v_ULTIMATE.start_main_~i~5_10) 0) (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_10 1024) 1 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_10} OutVars{ULTIMATE.start___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_1, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_8, 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_10} AuxVars[] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond] [2019-05-15 10:56:00,984 INFO L634 onniauxMapEliminator]: Out Formula: (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_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_8_aux_1)) (= 0 v_v_ULTIMATE.start_main_~A~5_8_aux_1) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_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 (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_10 1024) 1 0))) 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___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_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_3, 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_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_8_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond] [2019-05-15 10:56:00,984 INFO L635 onniauxMapEliminator]: L49 [2019-05-15 10:56:01,000 INFO L632 onniauxMapEliminator]: L55 [2019-05-15 10:56:01,000 INFO L633 onniauxMapEliminator]: In Formula: (and (not (= 0 (select v_ULTIMATE.start_main_~A~5_9 v_ULTIMATE.start_main_~i~5_12))) (= (+ v_ULTIMATE.start_main_~i~5_12 1) v_ULTIMATE.start_main_~i~5_11)) InVars {ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_9, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_12} OutVars{ULTIMATE.start_main_#t~post2=|v_ULTIMATE.start_main_#t~post2_2|, ULTIMATE.start_main_~A~5=v_ULTIMATE.start_main_~A~5_9, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_11} AuxVars[] AssignedVars[ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:01,001 INFO L634 onniauxMapEliminator]: Out Formula: (and (or (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 v_ULTIMATE.start_main_~A~5_val_0_in_4) (not (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12))) (not (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 0)) (= (+ v_ULTIMATE.start_main_~i~5_12 1) v_ULTIMATE.start_main_~i~5_11) 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))) 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_#t~post2=|v_ULTIMATE.start_main_#t~post2_2|, 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_11} AuxVars[v_v_ULTIMATE.start_main_~A~5_9_aux_1] AssignedVars[ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~i~5] [2019-05-15 10:56:01,001 INFO L635 onniauxMapEliminator]: L55 [2019-05-15 10:56:01,026 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 15.05 10:56:01 BasicIcfg [2019-05-15 10:56:01,026 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2019-05-15 10:56:01,028 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-05-15 10:56:01,028 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-05-15 10:56:01,031 INFO L275 PluginConnector]: TraceAbstraction initialized [2019-05-15 10:56:01,031 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:56:00" (1/3) ... [2019-05-15 10:56:01,032 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46157789 and model type array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.05 10:56:01, skipping insertion in model container [2019-05-15 10:56:01,032 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:56:00" (2/3) ... [2019-05-15 10:56:01,033 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@46157789 and model type array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.05 10:56:01, skipping insertion in model container [2019-05-15 10:56:01,033 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:56:01" (3/3) ... [2019-05-15 10:56:01,035 INFO L109 eAbstractionObserver]: Analyzing ICFG array4.i_4.bplME [2019-05-15 10:56:01,044 INFO L152 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:ForwardPredicates Determinization: PREDICATE_ABSTRACTION [2019-05-15 10:56:01,052 INFO L164 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2019-05-15 10:56:01,067 INFO L252 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2019-05-15 10:56:01,091 INFO L127 ementStrategyFactory]: Using default assertion order modulation [2019-05-15 10:56:01,092 INFO L377 AbstractCegarLoop]: Interprodecural is true [2019-05-15 10:56:01,092 INFO L378 AbstractCegarLoop]: Hoare is false [2019-05-15 10:56:01,092 INFO L379 AbstractCegarLoop]: Compute interpolants for ForwardPredicates [2019-05-15 10:56:01,092 INFO L380 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-05-15 10:56:01,093 INFO L381 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-05-15 10:56:01,093 INFO L382 AbstractCegarLoop]: Difference is false [2019-05-15 10:56:01,093 INFO L383 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-05-15 10:56:01,093 INFO L388 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-05-15 10:56:01,108 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states. [2019-05-15 10:56:01,116 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-05-15 10:56:01,117 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:56:01,118 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-05-15 10:56:01,120 INFO L418 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:56:01,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:56:01,126 INFO L82 PathProgramCache]: Analyzing trace with hash 1540260, now seen corresponding path program 1 times [2019-05-15 10:56:01,173 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:56:01,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:01,212 INFO L256 TraceCheckSpWp]: Trace formula consists of 24 conjuncts, 2 conjunts are in the unsatisfiable core [2019-05-15 10:56:01,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:01,224 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:56:01,336 INFO L273 TraceCheckUtils]: 0: Hoare triple {9#true} [20] ULTIMATE.startENTRY-->L36: Formula: (= v_ULTIMATE.start_main_~i~5_1 0) InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_1|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_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_#res, ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {14#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:56:01,339 INFO L273 TraceCheckUtils]: 1: Hoare triple {14#(<= ULTIMATE.start_main_~i~5 0)} [21] L36-->L55: 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_~i~5_6 0) 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)) (not (< v_ULTIMATE.start_main_~i~5_7 1023)) (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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} 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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_~i~5] {10#false} is VALID [2019-05-15 10:56:01,340 INFO L273 TraceCheckUtils]: 2: Hoare triple {10#false} [23] L55-->L49: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10))) (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_8_aux_1)) (= 0 v_v_ULTIMATE.start_main_~A~5_8_aux_1) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_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 (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_10 1024) 1 0)))) 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___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_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_3, 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_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_8_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond] {10#false} is VALID [2019-05-15 10:56:01,341 INFO L273 TraceCheckUtils]: 3: Hoare triple {10#false} [25] L49-->ULTIMATE.startErr0ASSERT_VIOLATIONASSERT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {10#false} is VALID [2019-05-15 10:56:01,343 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:56:01,346 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:56:01,347 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2019-05-15 10:56:01,352 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-05-15 10:56:01,354 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:56:01,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-05-15 10:56:01,415 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:01,416 INFO L454 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-05-15 10:56:01,423 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-05-15 10:56:01,424 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-05-15 10:56:01,426 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 3 states. [2019-05-15 10:56:01,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:01,721 INFO L93 Difference]: Finished difference Result 7 states and 8 transitions. [2019-05-15 10:56:01,721 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-05-15 10:56:01,721 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-05-15 10:56:01,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:56:01,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-05-15 10:56:01,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-05-15 10:56:01,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-05-15 10:56:01,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-05-15 10:56:01,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2019-05-15 10:56:01,860 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:01,870 INFO L225 Difference]: With dead ends: 7 [2019-05-15 10:56:01,870 INFO L226 Difference]: Without dead ends: 7 [2019-05-15 10:56:01,872 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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:56:01,887 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7 states. [2019-05-15 10:56:01,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7 to 7. [2019-05-15 10:56:01,895 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:56:01,895 INFO L82 GeneralOperation]: Start isEquivalent. First operand 7 states. Second operand 7 states. [2019-05-15 10:56:01,896 INFO L74 IsIncluded]: Start isIncluded. First operand 7 states. Second operand 7 states. [2019-05-15 10:56:01,896 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 7 states. [2019-05-15 10:56:01,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:01,898 INFO L93 Difference]: Finished difference Result 7 states and 8 transitions. [2019-05-15 10:56:01,898 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2019-05-15 10:56:01,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:01,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:01,899 INFO L74 IsIncluded]: Start isIncluded. First operand 7 states. Second operand 7 states. [2019-05-15 10:56:01,899 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 7 states. [2019-05-15 10:56:01,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:01,901 INFO L93 Difference]: Finished difference Result 7 states and 8 transitions. [2019-05-15 10:56:01,901 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2019-05-15 10:56:01,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:01,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:01,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:56:01,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:56:01,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-05-15 10:56:01,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 8 transitions. [2019-05-15 10:56:01,905 INFO L78 Accepts]: Start accepts. Automaton has 7 states and 8 transitions. Word has length 4 [2019-05-15 10:56:01,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:56:01,905 INFO L475 AbstractCegarLoop]: Abstraction has 7 states and 8 transitions. [2019-05-15 10:56:01,906 INFO L476 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-05-15 10:56:01,906 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 8 transitions. [2019-05-15 10:56:01,906 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-05-15 10:56:01,906 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:56:01,907 INFO L399 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-05-15 10:56:01,907 INFO L418 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:56:01,907 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:56:01,908 INFO L82 PathProgramCache]: Analyzing trace with hash 1481053576, now seen corresponding path program 1 times [2019-05-15 10:56:01,919 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:56:01,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:01,941 INFO L256 TraceCheckSpWp]: Trace formula consists of 40 conjuncts, 3 conjunts are in the unsatisfiable core [2019-05-15 10:56:01,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:01,959 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:56:02,243 INFO L273 TraceCheckUtils]: 0: Hoare triple {51#true} [20] ULTIMATE.startENTRY-->L36: Formula: (= v_ULTIMATE.start_main_~i~5_1 0) InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_1|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_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_#res, ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {56#(<= ULTIMATE.start_main_~i~5 0)} is VALID [2019-05-15 10:56:02,246 INFO L273 TraceCheckUtils]: 1: Hoare triple {56#(<= ULTIMATE.start_main_~i~5 0)} [22] L36-->L36: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_9))) (and (= (+ v_ULTIMATE.start_main_~i~5_9 1) v_ULTIMATE.start_main_~i~5_8) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) (<= |v_ULTIMATE.start_main_#t~nondet1_3| 2147483647) (< v_ULTIMATE.start_main_~i~5_9 1023) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_3| 2147483648)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (= 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_9} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|, 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_#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~nondet1, ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {60#(<= ULTIMATE.start_main_~i~5 1)} is VALID [2019-05-15 10:56:02,247 INFO L273 TraceCheckUtils]: 2: Hoare triple {60#(<= ULTIMATE.start_main_~i~5 1)} [21] L36-->L55: 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_~i~5_6 0) 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)) (not (< v_ULTIMATE.start_main_~i~5_7 1023)) (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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} 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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_~i~5] {52#false} is VALID [2019-05-15 10:56:02,248 INFO L273 TraceCheckUtils]: 3: Hoare triple {52#false} [24] L55-->L55: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12))) (and (or (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 v_ULTIMATE.start_main_~A~5_val_0_in_4) (not .cse0)) (not (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 0)) (= (+ v_ULTIMATE.start_main_~i~5_12 1) v_ULTIMATE.start_main_~i~5_11) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (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_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_#t~post2=|v_ULTIMATE.start_main_#t~post2_2|, 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_11} AuxVars[v_v_ULTIMATE.start_main_~A~5_9_aux_1] AssignedVars[ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~i~5] {52#false} is VALID [2019-05-15 10:56:02,248 INFO L273 TraceCheckUtils]: 4: Hoare triple {52#false} [23] L55-->L49: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10))) (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_8_aux_1)) (= 0 v_v_ULTIMATE.start_main_~A~5_8_aux_1) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_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 (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_10 1024) 1 0)))) 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___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_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_3, 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_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_8_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond] {52#false} is VALID [2019-05-15 10:56:02,249 INFO L273 TraceCheckUtils]: 5: Hoare triple {52#false} [25] L49-->ULTIMATE.startErr0ASSERT_VIOLATIONASSERT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {52#false} is VALID [2019-05-15 10:56:02,249 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-05-15 10:56:02,249 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2019-05-15 10:56:02,250 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3] total 3 [2019-05-15 10:56:02,251 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-05-15 10:56:02,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:56:02,252 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-05-15 10:56:02,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:02,280 INFO L454 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-05-15 10:56:02,281 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-05-15 10:56:02,281 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:56:02,281 INFO L87 Difference]: Start difference. First operand 7 states and 8 transitions. Second operand 4 states. [2019-05-15 10:56:02,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,436 INFO L93 Difference]: Finished difference Result 9 states and 10 transitions. [2019-05-15 10:56:02,437 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-05-15 10:56:02,437 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-05-15 10:56:02,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:56:02,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:56:02,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 12 transitions. [2019-05-15 10:56:02,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:56:02,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 12 transitions. [2019-05-15 10:56:02,441 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 12 transitions. [2019-05-15 10:56:02,585 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:02,586 INFO L225 Difference]: With dead ends: 9 [2019-05-15 10:56:02,586 INFO L226 Difference]: Without dead ends: 9 [2019-05-15 10:56:02,587 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:56:02,587 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 9 states. [2019-05-15 10:56:02,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 9 to 9. [2019-05-15 10:56:02,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:56:02,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 9 states. Second operand 9 states. [2019-05-15 10:56:02,589 INFO L74 IsIncluded]: Start isIncluded. First operand 9 states. Second operand 9 states. [2019-05-15 10:56:02,589 INFO L87 Difference]: Start difference. First operand 9 states. Second operand 9 states. [2019-05-15 10:56:02,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,591 INFO L93 Difference]: Finished difference Result 9 states and 10 transitions. [2019-05-15 10:56:02,591 INFO L276 IsEmpty]: Start isEmpty. Operand 9 states and 10 transitions. [2019-05-15 10:56:02,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:02,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:02,592 INFO L74 IsIncluded]: Start isIncluded. First operand 9 states. Second operand 9 states. [2019-05-15 10:56:02,592 INFO L87 Difference]: Start difference. First operand 9 states. Second operand 9 states. [2019-05-15 10:56:02,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,593 INFO L93 Difference]: Finished difference Result 9 states and 10 transitions. [2019-05-15 10:56:02,593 INFO L276 IsEmpty]: Start isEmpty. Operand 9 states and 10 transitions. [2019-05-15 10:56:02,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:02,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:02,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:56:02,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:56:02,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-05-15 10:56:02,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 10 transitions. [2019-05-15 10:56:02,595 INFO L78 Accepts]: Start accepts. Automaton has 9 states and 10 transitions. Word has length 6 [2019-05-15 10:56:02,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:56:02,596 INFO L475 AbstractCegarLoop]: Abstraction has 9 states and 10 transitions. [2019-05-15 10:56:02,596 INFO L476 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-05-15 10:56:02,596 INFO L276 IsEmpty]: Start isEmpty. Operand 9 states and 10 transitions. [2019-05-15 10:56:02,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2019-05-15 10:56:02,596 INFO L391 BasicCegarLoop]: Found error trace [2019-05-15 10:56:02,597 INFO L399 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1] [2019-05-15 10:56:02,597 INFO L418 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-05-15 10:56:02,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-05-15 10:56:02,597 INFO L82 PathProgramCache]: Analyzing trace with hash 1684199716, now seen corresponding path program 2 times [2019-05-15 10:56:02,598 INFO L69 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2019-05-15 10:56:02,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:02,614 INFO L256 TraceCheckSpWp]: Trace formula consists of 56 conjuncts, 4 conjunts are in the unsatisfiable core [2019-05-15 10:56:02,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-05-15 10:56:02,630 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2019-05-15 10:56:02,816 WARN L188 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 7 DAG size of output: 5 [2019-05-15 10:56:02,835 INFO L273 TraceCheckUtils]: 0: Hoare triple {108#true} [20] ULTIMATE.startENTRY-->L36: Formula: (= v_ULTIMATE.start_main_~i~5_1 0) InVars {} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_1|, ULTIMATE.start_main_#res=|v_ULTIMATE.start_main_#res_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_#res, ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~A~5, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {108#true} is VALID [2019-05-15 10:56:02,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {108#true} [22] L36-->L36: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_9))) (and (= (+ v_ULTIMATE.start_main_~i~5_9 1) v_ULTIMATE.start_main_~i~5_8) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) (<= |v_ULTIMATE.start_main_#t~nondet1_3| 2147483647) (< v_ULTIMATE.start_main_~i~5_9 1023) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_3| 2147483648)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (= 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_9} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|, 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_#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~nondet1, ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {116#ULTIMATE.start_main_~A~5_idx_0_bool} is VALID [2019-05-15 10:56:02,840 INFO L273 TraceCheckUtils]: 2: Hoare triple {116#ULTIMATE.start_main_~A~5_idx_0_bool} [22] L36-->L36: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_2 v_ULTIMATE.start_main_~i~5_9))) (and (= (+ v_ULTIMATE.start_main_~i~5_9 1) v_ULTIMATE.start_main_~i~5_8) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_2 |v_ULTIMATE.start_main_#t~nondet1_3|)) (or .cse0 (not v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1)) (<= |v_ULTIMATE.start_main_#t~nondet1_3| 2147483647) (< v_ULTIMATE.start_main_~i~5_9 1023) (<= 0 (+ |v_ULTIMATE.start_main_#t~nondet1_3| 2147483648)) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (= 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_9} OutVars{ULTIMATE.start_main_#t~nondet1=|v_ULTIMATE.start_main_#t~nondet1_2|, 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_#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~nondet1, ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_#t~post0, ULTIMATE.start_main_~i~5] {120#(and (< ULTIMATE.start_main_~A~5_idx_0 1023) ULTIMATE.start_main_~A~5_idx_0_bool)} is VALID [2019-05-15 10:56:02,841 INFO L273 TraceCheckUtils]: 3: Hoare triple {120#(and (< ULTIMATE.start_main_~A~5_idx_0 1023) ULTIMATE.start_main_~A~5_idx_0_bool)} [21] L36-->L55: 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_~i~5_6 0) 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)) (not (< v_ULTIMATE.start_main_~i~5_7 1023)) (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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_7} 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, ULTIMATE.start_main_~i~5=v_ULTIMATE.start_main_~i~5_6} AuxVars[] AssignedVars[ULTIMATE.start_main_~A~5_val_0, ULTIMATE.start_main_~i~5] {109#false} is VALID [2019-05-15 10:56:02,841 INFO L273 TraceCheckUtils]: 4: Hoare triple {109#false} [24] L55-->L55: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12))) (and (or (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 v_ULTIMATE.start_main_~A~5_val_0_in_4) (not .cse0)) (not (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 0)) (= (+ v_ULTIMATE.start_main_~i~5_12 1) v_ULTIMATE.start_main_~i~5_11) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (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_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_#t~post2=|v_ULTIMATE.start_main_#t~post2_2|, 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_11} AuxVars[v_v_ULTIMATE.start_main_~A~5_9_aux_1] AssignedVars[ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~i~5] {109#false} is VALID [2019-05-15 10:56:02,842 INFO L273 TraceCheckUtils]: 5: Hoare triple {109#false} [24] L55-->L55: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_4 v_ULTIMATE.start_main_~i~5_12))) (and (or (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 v_ULTIMATE.start_main_~A~5_val_0_in_4) (not .cse0)) (not (= v_v_ULTIMATE.start_main_~A~5_9_aux_1 0)) (= (+ v_ULTIMATE.start_main_~i~5_12 1) v_ULTIMATE.start_main_~i~5_11) v_ULTIMATE.start_main_~A~5_idx_0_term_assigned_1 (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_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_#t~post2=|v_ULTIMATE.start_main_#t~post2_2|, 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_11} AuxVars[v_v_ULTIMATE.start_main_~A~5_9_aux_1] AssignedVars[ULTIMATE.start_main_#t~post2, ULTIMATE.start_main_~i~5] {109#false} is VALID [2019-05-15 10:56:02,842 INFO L273 TraceCheckUtils]: 6: Hoare triple {109#false} [23] L55-->L49: Formula: (let ((.cse0 (= v_ULTIMATE.start_main_~A~5_idx_0_term_3 v_ULTIMATE.start_main_~i~5_10))) (and (= v_ULTIMATE.start___VERIFIER_assert_~cond_1 |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1|) (or (not .cse0) (= v_ULTIMATE.start_main_~A~5_val_0_in_3 v_v_ULTIMATE.start_main_~A~5_8_aux_1)) (= 0 v_v_ULTIMATE.start_main_~A~5_8_aux_1) (= 0 v_ULTIMATE.start___VERIFIER_assert_~cond_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 (= |v_ULTIMATE.start___VERIFIER_assert_#in~cond_1| (ite (<= v_ULTIMATE.start_main_~i~5_10 1024) 1 0)))) 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___VERIFIER_assert_~cond=v_ULTIMATE.start___VERIFIER_assert_~cond_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_3, 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_10} AuxVars[v_v_ULTIMATE.start_main_~A~5_8_aux_1] AssignedVars[ULTIMATE.start___VERIFIER_assert_~cond, ULTIMATE.start___VERIFIER_assert_#in~cond] {109#false} is VALID [2019-05-15 10:56:02,842 INFO L273 TraceCheckUtils]: 7: Hoare triple {109#false} [25] L49-->ULTIMATE.startErr0ASSERT_VIOLATIONASSERT: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {109#false} is VALID [2019-05-15 10:56:02,843 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2019-05-15 10:56:02,843 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-05-15 10:56:02,843 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2019-05-15 10:56:02,844 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2019-05-15 10:56:02,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-05-15 10:56:02,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-05-15 10:56:02,860 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:02,861 INFO L454 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-05-15 10:56:02,861 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-05-15 10:56:02,861 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:56:02,862 INFO L87 Difference]: Start difference. First operand 9 states and 10 transitions. Second operand 4 states. [2019-05-15 10:56:02,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,875 INFO L93 Difference]: Finished difference Result 4 states and 4 transitions. [2019-05-15 10:56:02,876 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-05-15 10:56:02,876 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2019-05-15 10:56:02,876 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-05-15 10:56:02,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:56:02,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 4 transitions. [2019-05-15 10:56:02,877 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-05-15 10:56:02,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 4 transitions. [2019-05-15 10:56:02,877 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 4 transitions. [2019-05-15 10:56:02,889 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-05-15 10:56:02,889 INFO L225 Difference]: With dead ends: 4 [2019-05-15 10:56:02,890 INFO L226 Difference]: Without dead ends: 0 [2019-05-15 10:56:02,890 INFO L628 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2019-05-15 10:56:02,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-05-15 10:56:02,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-05-15 10:56:02,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-05-15 10:56:02,891 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-05-15 10:56:02,891 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:56:02,891 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:56:02,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,892 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:56:02,892 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:56:02,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:02,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:02,892 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-05-15 10:56:02,892 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-05-15 10:56:02,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-05-15 10:56:02,893 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-05-15 10:56:02,893 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:56:02,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:02,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-05-15 10:56:02,893 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-05-15 10:56:02,893 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-05-15 10:56:02,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-05-15 10:56:02,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-05-15 10:56:02,894 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 8 [2019-05-15 10:56:02,894 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-05-15 10:56:02,894 INFO L475 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-05-15 10:56:02,894 INFO L476 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-05-15 10:56:02,894 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-05-15 10:56:02,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-05-15 10:56:02,897 INFO L303 ceAbstractionStarter]: Did not count any witness invariants because Icfg is not BoogieIcfg [2019-05-15 10:56:02,899 INFO L202 PluginConnector]: Adding new model array4.i_4.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.05 10:56:02 BasicIcfg [2019-05-15 10:56:02,899 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-05-15 10:56:02,900 INFO L168 Benchmark]: Toolchain (without parser) took 2619.00 ms. Allocated memory was 139.5 MB in the beginning and 176.7 MB in the end (delta: 37.2 MB). Free memory was 109.2 MB in the beginning and 111.3 MB in the end (delta: -2.1 MB). Peak memory consumption was 35.1 MB. Max. memory is 7.1 GB. [2019-05-15 10:56:02,901 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.25 ms. Allocated memory is still 139.5 MB. Free memory is still 110.4 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-05-15 10:56:02,902 INFO L168 Benchmark]: Boogie Procedure Inliner took 36.45 ms. Allocated memory is still 139.5 MB. Free memory was 109.0 MB in the beginning and 107.2 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:56:02,902 INFO L168 Benchmark]: Boogie Preprocessor took 20.98 ms. Allocated memory is still 139.5 MB. Free memory was 107.2 MB in the beginning and 106.2 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:56:02,903 INFO L168 Benchmark]: RCFGBuilder took 526.34 ms. Allocated memory is still 139.5 MB. Free memory was 106.2 MB in the beginning and 94.8 MB in the end (delta: 11.3 MB). Peak memory consumption was 11.3 MB. Max. memory is 7.1 GB. [2019-05-15 10:56:02,904 INFO L168 Benchmark]: IcfgTransformer took 159.08 ms. Allocated memory is still 139.5 MB. Free memory was 94.6 MB in the beginning and 90.1 MB in the end (delta: 4.5 MB). Peak memory consumption was 4.5 MB. Max. memory is 7.1 GB. [2019-05-15 10:56:02,905 INFO L168 Benchmark]: TraceAbstraction took 1871.18 ms. Allocated memory was 139.5 MB in the beginning and 176.7 MB in the end (delta: 37.2 MB). Free memory was 89.9 MB in the beginning and 111.3 MB in the end (delta: -21.4 MB). Peak memory consumption was 15.9 MB. Max. memory is 7.1 GB. [2019-05-15 10:56:02,911 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.25 ms. Allocated memory is still 139.5 MB. Free memory is still 110.4 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 36.45 ms. Allocated memory is still 139.5 MB. Free memory was 109.0 MB in the beginning and 107.2 MB in the end (delta: 1.7 MB). Peak memory consumption was 1.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 20.98 ms. Allocated memory is still 139.5 MB. Free memory was 107.2 MB in the beginning and 106.2 MB in the end (delta: 1.1 MB). Peak memory consumption was 1.1 MB. Max. memory is 7.1 GB. * RCFGBuilder took 526.34 ms. Allocated memory is still 139.5 MB. Free memory was 106.2 MB in the beginning and 94.8 MB in the end (delta: 11.3 MB). Peak memory consumption was 11.3 MB. Max. memory is 7.1 GB. * IcfgTransformer took 159.08 ms. Allocated memory is still 139.5 MB. Free memory was 94.6 MB in the beginning and 90.1 MB in the end (delta: 4.5 MB). Peak memory consumption was 4.5 MB. Max. memory is 7.1 GB. * TraceAbstraction took 1871.18 ms. Allocated memory was 139.5 MB in the beginning and 176.7 MB in the end (delta: 37.2 MB). Free memory was 89.9 MB in the beginning and 111.3 MB in the end (delta: -21.4 MB). Peak memory consumption was 15.9 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, 6 locations, 1 error locations. SAFE Result, 1.8s OverallTime, 3 OverallIterations, 2 TraceHistogramMax, 0.7s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 5 SDtfs, 0 SDslu, 9 SDs, 0 SdLazy, 19 SolverSat, 7 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 15 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=9occurred in iteration=2, 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, 3 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 18 NumberOfCodeBlocks, 18 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 15 ConstructedInterpolants, 0 QuantifiedInterpolants, 137 SizeOfPredicates, 2 NumberOfNonLiveVariables, 120 ConjunctsInSsa, 9 ConjunctsInUnsatCore, 3 InterpolantComputations, 2 PerfectInterpolantSequences, 7/8 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...