java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-4b9831f [2018-12-23 14:19:11,988 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-23 14:19:11,990 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-23 14:19:12,002 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-23 14:19:12,002 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-23 14:19:12,003 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-23 14:19:12,004 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-23 14:19:12,006 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-23 14:19:12,008 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-23 14:19:12,009 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-23 14:19:12,010 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-23 14:19:12,010 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-23 14:19:12,011 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-23 14:19:12,012 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-23 14:19:12,013 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-23 14:19:12,014 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-23 14:19:12,015 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-23 14:19:12,017 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-23 14:19:12,019 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-23 14:19:12,021 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-23 14:19:12,022 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-23 14:19:12,024 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-23 14:19:12,026 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-23 14:19:12,026 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-23 14:19:12,027 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-23 14:19:12,028 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-23 14:19:12,029 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-23 14:19:12,030 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-23 14:19:12,030 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-23 14:19:12,032 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-23 14:19:12,032 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-23 14:19:12,033 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-23 14:19:12,033 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-23 14:19:12,033 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-23 14:19:12,034 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-23 14:19:12,035 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-23 14:19:12,035 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2018-12-23 14:19:12,056 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-23 14:19:12,057 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-23 14:19:12,060 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-23 14:19:12,060 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-23 14:19:12,060 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-23 14:19:12,061 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-23 14:19:12,061 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-23 14:19:12,061 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-23 14:19:12,061 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-23 14:19:12,061 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-23 14:19:12,062 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-23 14:19:12,062 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-23 14:19:12,062 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-23 14:19:12,062 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-23 14:19:12,063 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-23 14:19:12,063 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-23 14:19:12,063 INFO L133 SettingsManager]: * Use SBE=true [2018-12-23 14:19:12,063 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-23 14:19:12,065 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-23 14:19:12,065 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-23 14:19:12,065 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-23 14:19:12,065 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-23 14:19:12,065 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-23 14:19:12,066 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-23 14:19:12,066 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-23 14:19:12,066 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-23 14:19:12,066 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-23 14:19:12,066 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-23 14:19:12,067 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-23 14:19:12,067 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-23 14:19:12,068 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-23 14:19:12,068 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-23 14:19:12,068 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-23 14:19:12,068 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-23 14:19:12,069 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-23 14:19:12,118 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-23 14:19:12,135 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-23 14:19:12,142 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-23 14:19:12,143 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-23 14:19:12,144 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-23 14:19:12,145 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl [2018-12-23 14:19:12,145 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl' [2018-12-23 14:19:12,202 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-23 14:19:12,205 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-23 14:19:12,206 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-23 14:19:12,206 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-23 14:19:12,206 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-23 14:19:12,227 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,243 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,286 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-23 14:19:12,287 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-23 14:19:12,287 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-23 14:19:12,287 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-23 14:19:12,300 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,301 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,302 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,303 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,310 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,315 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,317 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/1) ... [2018-12-23 14:19:12,323 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-23 14:19:12,324 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-23 14:19:12,324 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-23 14:19:12,325 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-23 14:19:12,328 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (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:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-23 14:19:12,395 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-23 14:19:12,396 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-23 14:19:13,137 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-23 14:19:13,137 INFO L280 CfgBuilder]: Removed 15 assue(true) statements. [2018-12-23 14:19:13,139 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:19:13 BoogieIcfgContainer [2018-12-23 14:19:13,140 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-23 14:19:13,142 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-23 14:19:13,142 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-23 14:19:13,145 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-23 14:19:13,145 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:12" (1/2) ... [2018-12-23 14:19:13,147 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50b85fc6 and model type speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.12 02:19:13, skipping insertion in model container [2018-12-23 14:19:13,147 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:19:13" (2/2) ... [2018-12-23 14:19:13,149 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-6-unlimited.bpl [2018-12-23 14:19:13,160 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-23 14:19:13,170 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 6 error locations. [2018-12-23 14:19:13,189 INFO L257 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2018-12-23 14:19:13,233 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-23 14:19:13,233 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-23 14:19:13,233 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-23 14:19:13,233 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-23 14:19:13,233 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-23 14:19:13,234 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-23 14:19:13,234 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-23 14:19:13,234 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-23 14:19:13,258 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states. [2018-12-23 14:19:13,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-23 14:19:13,268 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:13,269 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-23 14:19:13,273 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:13,281 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:13,282 INFO L82 PathProgramCache]: Analyzing trace with hash 988, now seen corresponding path program 1 times [2018-12-23 14:19:13,284 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:13,341 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:13,341 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:13,341 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:13,341 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:13,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:13,556 INFO L273 TraceCheckUtils]: 0: Hoare triple {18#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:13,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {19#false} is VALID [2018-12-23 14:19:13,565 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:13,567 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:19:13,567 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:19:13,567 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:13,572 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:19:13,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:13,578 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:19:13,605 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:13,606 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:19:13,613 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:19:13,614 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:13,619 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 3 states. [2018-12-23 14:19:14,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:14,189 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2018-12-23 14:19:14,190 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:14,190 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:19:14,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:14,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:14,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-23 14:19:14,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:14,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2018-12-23 14:19:14,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 39 transitions. [2018-12-23 14:19:14,449 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:14,461 INFO L225 Difference]: With dead ends: 29 [2018-12-23 14:19:14,462 INFO L226 Difference]: Without dead ends: 24 [2018-12-23 14:19:14,466 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:14,483 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-12-23 14:19:14,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 14. [2018-12-23 14:19:14,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:14,531 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 14 states. [2018-12-23 14:19:14,532 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 14 states. [2018-12-23 14:19:14,532 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 14 states. [2018-12-23 14:19:14,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:14,537 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-23 14:19:14,538 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-23 14:19:14,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:14,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:14,539 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 24 states. [2018-12-23 14:19:14,539 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 24 states. [2018-12-23 14:19:14,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:14,543 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2018-12-23 14:19:14,543 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2018-12-23 14:19:14,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:14,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:14,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:14,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:14,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-23 14:19:14,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 25 transitions. [2018-12-23 14:19:14,549 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 25 transitions. Word has length 2 [2018-12-23 14:19:14,550 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:14,550 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 25 transitions. [2018-12-23 14:19:14,550 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:19:14,552 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 25 transitions. [2018-12-23 14:19:14,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:14,552 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:14,552 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:14,553 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:14,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:14,554 INFO L82 PathProgramCache]: Analyzing trace with hash 30376, now seen corresponding path program 1 times [2018-12-23 14:19:14,554 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:14,555 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:14,555 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:14,555 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:14,555 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:14,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:14,717 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:14,723 INFO L273 TraceCheckUtils]: 1: Hoare triple {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:14,724 INFO L273 TraceCheckUtils]: 2: Hoare triple {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-23 14:19:14,724 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:14,725 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:14,725 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:14,726 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:14,727 INFO L207 CegarAbsIntRunner]: [0], [18], [27] [2018-12-23 14:19:14,762 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:14,762 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:14,893 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:14,895 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:14,902 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:14,904 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:14,904 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:14,904 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:14,918 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:14,919 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:14,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:14,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:14,972 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:15,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:15,496 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:15,964 WARN L181 SmtUtils]: Spent 377.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 24 [2018-12-23 14:19:16,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,092 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:16,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:16,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,359 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:16,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:16,380 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,402 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,425 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,450 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,488 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:16,535 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:16,588 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:16,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:16,703 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:16,776 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:16,793 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,825 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,851 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,871 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,886 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,916 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:16,979 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:16,980 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:17,001 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:17,002 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_32| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0))))) [2018-12-23 14:19:17,003 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:19,197 WARN L181 SmtUtils]: Spent 2.11 s on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2018-12-23 14:19:19,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:19,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:19:19,333 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:19,398 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:19,399 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:21,501 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:21,502 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_33| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_33| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:19:21,502 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:21,554 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:21,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:21,559 INFO L273 TraceCheckUtils]: 2: Hoare triple {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-23 14:19:21,560 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:21,560 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:21,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2018-12-23 14:19:21,589 INFO L273 TraceCheckUtils]: 1: Hoare triple {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:21,592 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:21,593 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:21,615 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:21,615 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:21,615 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:21,616 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:21,617 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:21,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:21,634 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:21,635 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:21,635 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:21,635 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:21,635 INFO L87 Difference]: Start difference. First operand 14 states and 25 transitions. Second operand 6 states. [2018-12-23 14:19:22,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:22,549 INFO L93 Difference]: Finished difference Result 47 states and 68 transitions. [2018-12-23 14:19:22,549 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:19:22,550 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:22,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:22,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:22,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-23 14:19:22,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:22,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2018-12-23 14:19:22,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2018-12-23 14:19:22,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:22,721 INFO L225 Difference]: With dead ends: 47 [2018-12-23 14:19:22,721 INFO L226 Difference]: Without dead ends: 45 [2018-12-23 14:19:22,722 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:19:22,722 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2018-12-23 14:19:22,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 18. [2018-12-23 14:19:22,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:22,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 18 states. [2018-12-23 14:19:22,754 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 18 states. [2018-12-23 14:19:22,755 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 18 states. [2018-12-23 14:19:22,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:22,758 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-23 14:19:22,758 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-23 14:19:22,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:22,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:22,760 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 45 states. [2018-12-23 14:19:22,760 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 45 states. [2018-12-23 14:19:22,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:22,764 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2018-12-23 14:19:22,764 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2018-12-23 14:19:22,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:22,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:22,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:22,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:22,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-23 14:19:22,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 37 transitions. [2018-12-23 14:19:22,768 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 37 transitions. Word has length 3 [2018-12-23 14:19:22,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:22,768 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 37 transitions. [2018-12-23 14:19:22,768 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:22,769 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 37 transitions. [2018-12-23 14:19:22,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:22,769 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:22,769 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:22,770 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:22,770 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:22,770 INFO L82 PathProgramCache]: Analyzing trace with hash 30004, now seen corresponding path program 1 times [2018-12-23 14:19:22,770 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:22,771 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:22,771 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:22,772 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:22,772 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:22,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,845 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:22,846 INFO L273 TraceCheckUtils]: 1: Hoare triple {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:22,847 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-23 14:19:22,847 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:22,848 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:22,848 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:22,848 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:22,849 INFO L207 CegarAbsIntRunner]: [0], [6], [27] [2018-12-23 14:19:22,850 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:22,851 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:22,869 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:22,869 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:22,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:22,869 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:22,869 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:22,870 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:22,880 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:22,880 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:22,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,903 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:22,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:23,013 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:23,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,069 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:23,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,099 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:23,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:23,201 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:23,207 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,250 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,284 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,307 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,339 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,356 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:23,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,509 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:23,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,584 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,586 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:23,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,680 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:23,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:23,691 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,716 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,739 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,762 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:23,843 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:23,844 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:24,203 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:24,204 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_35| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-23 14:19:24,204 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:24,585 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:24,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:24,601 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:24,653 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:24,653 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:24,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:24,682 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_36| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_36| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_36| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:24,682 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:24,739 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:19:24,742 INFO L273 TraceCheckUtils]: 1: Hoare triple {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:19:24,743 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-23 14:19:24,744 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:24,744 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:24,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2018-12-23 14:19:24,795 INFO L273 TraceCheckUtils]: 1: Hoare triple {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:24,798 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:19:24,798 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:24,819 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:19:24,820 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-23 14:19:24,820 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:24,820 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:19:24,820 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:24,820 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:19:24,825 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:24,825 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:19:24,825 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:19:24,825 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:19:24,826 INFO L87 Difference]: Start difference. First operand 18 states and 37 transitions. Second operand 4 states. [2018-12-23 14:19:25,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:25,029 INFO L93 Difference]: Finished difference Result 23 states and 60 transitions. [2018-12-23 14:19:25,029 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-23 14:19:25,030 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:19:25,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:25,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:25,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-23 14:19:25,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:25,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2018-12-23 14:19:25,034 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 34 transitions. [2018-12-23 14:19:25,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:25,101 INFO L225 Difference]: With dead ends: 23 [2018-12-23 14:19:25,101 INFO L226 Difference]: Without dead ends: 22 [2018-12-23 14:19:25,102 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:19:25,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2018-12-23 14:19:25,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 21. [2018-12-23 14:19:25,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:25,144 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 21 states. [2018-12-23 14:19:25,145 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 21 states. [2018-12-23 14:19:25,145 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 21 states. [2018-12-23 14:19:25,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:25,148 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-23 14:19:25,148 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-23 14:19:25,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:25,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:25,149 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 22 states. [2018-12-23 14:19:25,150 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 22 states. [2018-12-23 14:19:25,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:25,152 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2018-12-23 14:19:25,153 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2018-12-23 14:19:25,153 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:25,153 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:25,153 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:25,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:25,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-12-23 14:19:25,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 59 transitions. [2018-12-23 14:19:25,156 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 59 transitions. Word has length 3 [2018-12-23 14:19:25,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:25,157 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 59 transitions. [2018-12-23 14:19:25,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:19:25,157 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 59 transitions. [2018-12-23 14:19:25,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:25,157 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:25,158 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:25,158 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:25,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:25,158 INFO L82 PathProgramCache]: Analyzing trace with hash 30562, now seen corresponding path program 1 times [2018-12-23 14:19:25,159 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:25,159 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:25,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:25,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:25,160 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:25,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:25,283 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-23 14:19:25,289 INFO L273 TraceCheckUtils]: 1: Hoare triple {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:25,290 INFO L273 TraceCheckUtils]: 2: Hoare triple {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-23 14:19:25,290 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:25,290 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:25,291 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:25,291 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:25,291 INFO L207 CegarAbsIntRunner]: [0], [24], [27] [2018-12-23 14:19:25,293 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:25,293 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:25,316 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:25,317 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:25,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:25,318 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:25,318 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:25,319 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:25,328 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:25,328 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:25,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:25,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:25,370 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:25,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:19:25,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:19:25,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,797 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:19:25,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:19:26,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:26,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:19:26,119 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,156 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,187 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,220 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,257 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,308 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:26,333 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:26,354 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:26,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:26,488 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:26,567 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:19:26,574 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,614 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,636 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,656 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,671 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,683 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:26,759 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:26,760 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-23 14:19:26,778 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:26,778 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_10|]. (let ((.cse3 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_38| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select .cse3 ULTIMATE.start_main_p2) 0)))))) [2018-12-23 14:19:26,778 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:27,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-23 14:19:27,144 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:27,376 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:27,376 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:101, output treesize:71 [2018-12-23 14:19:28,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:28,668 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_39| ULTIMATE.start_main_p6))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (store |v_#memory_int_39| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:19:28,668 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:28,713 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:19:28,718 INFO L273 TraceCheckUtils]: 1: Hoare triple {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:19:28,719 INFO L273 TraceCheckUtils]: 2: Hoare triple {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-23 14:19:28,720 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:28,720 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:28,740 INFO L273 TraceCheckUtils]: 2: Hoare triple {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2018-12-23 14:19:28,741 INFO L273 TraceCheckUtils]: 1: Hoare triple {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:28,744 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:28,744 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:28,763 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:28,763 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:28,763 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:28,764 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:28,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:28,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:28,782 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:28,783 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:28,783 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:28,783 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:28,783 INFO L87 Difference]: Start difference. First operand 21 states and 59 transitions. Second operand 6 states. [2018-12-23 14:19:29,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:29,550 INFO L93 Difference]: Finished difference Result 39 states and 79 transitions. [2018-12-23 14:19:29,550 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-23 14:19:29,551 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:29,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:29,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:29,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-23 14:19:29,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:29,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2018-12-23 14:19:29,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2018-12-23 14:19:29,743 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:29,745 INFO L225 Difference]: With dead ends: 39 [2018-12-23 14:19:29,745 INFO L226 Difference]: Without dead ends: 36 [2018-12-23 14:19:29,746 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:29,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-12-23 14:19:29,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 23. [2018-12-23 14:19:29,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:29,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 23 states. [2018-12-23 14:19:29,805 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 23 states. [2018-12-23 14:19:29,805 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 23 states. [2018-12-23 14:19:29,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:29,809 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-23 14:19:29,809 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-23 14:19:29,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:29,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:29,810 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 36 states. [2018-12-23 14:19:29,810 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 36 states. [2018-12-23 14:19:29,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:29,813 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2018-12-23 14:19:29,813 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2018-12-23 14:19:29,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:29,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:29,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:29,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:29,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-12-23 14:19:29,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 67 transitions. [2018-12-23 14:19:29,816 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 67 transitions. Word has length 3 [2018-12-23 14:19:29,816 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:29,816 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 67 transitions. [2018-12-23 14:19:29,816 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:29,817 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 67 transitions. [2018-12-23 14:19:29,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:29,817 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:29,817 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:29,817 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:29,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:29,818 INFO L82 PathProgramCache]: Analyzing trace with hash 30128, now seen corresponding path program 1 times [2018-12-23 14:19:29,818 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:29,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:29,819 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:29,819 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:29,819 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:29,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:29,893 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:29,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:29,927 INFO L273 TraceCheckUtils]: 2: Hoare triple {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-23 14:19:29,927 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:29,928 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:29,928 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:29,928 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:29,928 INFO L207 CegarAbsIntRunner]: [0], [10], [27] [2018-12-23 14:19:29,929 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:29,929 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:29,951 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:29,951 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:29,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:29,952 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:29,952 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:29,952 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:29,960 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:29,960 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:29,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:29,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:29,971 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:30,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:30,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:30,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:30,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,231 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:30,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:30,306 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:30,308 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,354 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,376 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,396 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,413 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,428 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,478 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:30,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,534 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:30,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,639 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:30,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:30,736 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,757 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,778 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,799 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,859 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:30,859 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:30,893 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:30,894 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_11|]. (let ((.cse1 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-23 14:19:30,894 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:31,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:31,119 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:31,124 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:31,180 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:31,181 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:31,199 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:31,200 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_42| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:19:31,200 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:31,234 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:31,236 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:19:31,237 INFO L273 TraceCheckUtils]: 2: Hoare triple {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-23 14:19:31,238 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:31,238 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:31,264 INFO L273 TraceCheckUtils]: 2: Hoare triple {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2018-12-23 14:19:31,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:31,268 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:31,269 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:31,288 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:31,288 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:31,288 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:31,289 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:31,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:31,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:31,299 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:31,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:31,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:31,300 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:31,300 INFO L87 Difference]: Start difference. First operand 23 states and 67 transitions. Second operand 6 states. [2018-12-23 14:19:31,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:31,855 INFO L93 Difference]: Finished difference Result 49 states and 101 transitions. [2018-12-23 14:19:31,855 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:19:31,855 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:31,855 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:31,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:31,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-23 14:19:31,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:31,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2018-12-23 14:19:31,857 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2018-12-23 14:19:31,972 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:31,974 INFO L225 Difference]: With dead ends: 49 [2018-12-23 14:19:31,975 INFO L226 Difference]: Without dead ends: 47 [2018-12-23 14:19:31,975 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:19:31,976 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2018-12-23 14:19:32,078 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 25. [2018-12-23 14:19:32,079 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:32,079 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 25 states. [2018-12-23 14:19:32,079 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 25 states. [2018-12-23 14:19:32,079 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 25 states. [2018-12-23 14:19:32,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:32,082 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-23 14:19:32,083 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-23 14:19:32,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:32,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:32,084 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 47 states. [2018-12-23 14:19:32,084 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 47 states. [2018-12-23 14:19:32,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:32,087 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-23 14:19:32,087 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2018-12-23 14:19:32,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:32,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:32,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:32,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:32,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-12-23 14:19:32,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 80 transitions. [2018-12-23 14:19:32,090 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 80 transitions. Word has length 3 [2018-12-23 14:19:32,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:32,090 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 80 transitions. [2018-12-23 14:19:32,090 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:32,090 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 80 transitions. [2018-12-23 14:19:32,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:32,091 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:32,091 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:32,091 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:32,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:32,092 INFO L82 PathProgramCache]: Analyzing trace with hash 941528, now seen corresponding path program 1 times [2018-12-23 14:19:32,092 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:32,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:32,093 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:32,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:32,093 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:32,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:32,200 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:32,202 INFO L273 TraceCheckUtils]: 1: Hoare triple {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:32,204 INFO L273 TraceCheckUtils]: 2: Hoare triple {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:32,206 INFO L273 TraceCheckUtils]: 3: Hoare triple {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-23 14:19:32,206 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:32,206 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:32,207 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:32,207 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:32,207 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [27] [2018-12-23 14:19:32,209 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:32,209 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:32,223 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:32,223 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:32,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:32,223 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:32,223 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:32,224 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:32,234 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:32,234 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:32,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:32,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:32,248 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:32,346 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:32,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:32,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,388 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:32,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:32,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:32,490 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:32,495 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,529 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,553 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,573 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,591 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,607 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:32,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:32,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,777 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:32,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,853 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:32,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:32,863 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,881 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,898 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,916 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:32,965 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:32,965 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:32,978 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:32,978 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_12|]. (let ((.cse2 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_44| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)))))) [2018-12-23 14:19:32,979 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:33,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:19:33,187 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,248 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:33,249 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:33,260 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:33,261 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_45| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_45| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_45| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:33,261 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:33,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,565 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:19:33,572 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,615 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:33,615 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-23 14:19:35,625 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:35,626 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_46| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_46| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2018-12-23 14:19:35,626 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:35,668 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:35,670 INFO L273 TraceCheckUtils]: 1: Hoare triple {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-23 14:19:35,672 INFO L273 TraceCheckUtils]: 2: Hoare triple {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-23 14:19:35,673 INFO L273 TraceCheckUtils]: 3: Hoare triple {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-23 14:19:35,674 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:35,674 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:35,725 INFO L273 TraceCheckUtils]: 3: Hoare triple {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2018-12-23 14:19:35,727 INFO L273 TraceCheckUtils]: 2: Hoare triple {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:35,728 INFO L273 TraceCheckUtils]: 1: Hoare triple {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:35,731 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:35,732 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:35,752 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:35,752 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:35,752 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:35,753 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:35,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:35,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:35,769 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:35,770 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:35,770 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:35,770 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:35,770 INFO L87 Difference]: Start difference. First operand 25 states and 80 transitions. Second operand 8 states. [2018-12-23 14:19:37,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:37,826 INFO L93 Difference]: Finished difference Result 61 states and 138 transitions. [2018-12-23 14:19:37,826 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:37,826 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:37,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:37,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:37,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-23 14:19:37,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:37,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2018-12-23 14:19:37,829 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2018-12-23 14:19:37,981 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:37,983 INFO L225 Difference]: With dead ends: 61 [2018-12-23 14:19:37,983 INFO L226 Difference]: Without dead ends: 57 [2018-12-23 14:19:37,984 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:37,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2018-12-23 14:19:38,060 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 29. [2018-12-23 14:19:38,061 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:38,061 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 29 states. [2018-12-23 14:19:38,061 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 29 states. [2018-12-23 14:19:38,061 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 29 states. [2018-12-23 14:19:38,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:38,064 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-23 14:19:38,065 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-23 14:19:38,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:38,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:38,065 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 57 states. [2018-12-23 14:19:38,066 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 57 states. [2018-12-23 14:19:38,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:38,068 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2018-12-23 14:19:38,069 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2018-12-23 14:19:38,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:38,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:38,069 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:38,069 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:38,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-12-23 14:19:38,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 98 transitions. [2018-12-23 14:19:38,072 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 98 transitions. Word has length 4 [2018-12-23 14:19:38,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:38,072 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 98 transitions. [2018-12-23 14:19:38,072 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:38,072 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 98 transitions. [2018-12-23 14:19:38,072 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:38,072 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:38,073 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:38,073 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:38,073 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:38,073 INFO L82 PathProgramCache]: Analyzing trace with hash 941590, now seen corresponding path program 1 times [2018-12-23 14:19:38,073 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:38,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:38,074 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:38,074 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:38,075 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:38,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:38,200 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:38,201 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:19:38,206 INFO L273 TraceCheckUtils]: 2: Hoare triple {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:38,206 INFO L273 TraceCheckUtils]: 3: Hoare triple {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-23 14:19:38,207 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:38,207 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:38,207 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:38,207 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:38,207 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [27] [2018-12-23 14:19:38,210 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:38,210 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:38,237 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:38,237 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:38,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:38,237 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:38,237 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:38,238 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:38,247 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:38,247 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:38,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:38,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:38,256 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:38,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:19:38,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:19:38,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,474 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:19:38,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:19:38,658 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:38,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:19:38,670 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,699 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,728 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,757 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,786 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:38,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:38,858 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:38,874 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:38,905 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:38,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:19:38,939 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:38,978 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,001 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,019 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,038 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,050 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,110 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:39,111 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-23 14:19:39,138 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:39,139 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse2 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (store (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (select .cse3 ULTIMATE.start_main_p4) 0)))))) [2018-12-23 14:19:39,139 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:39,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:19:39,317 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,370 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:39,371 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-23 14:19:41,596 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:41,596 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_50| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:19:41,596 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:41,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,783 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:41,785 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-23 14:19:41,789 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,849 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:41,850 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-23 14:19:43,900 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:43,900 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_51| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:19:43,900 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:19:43,946 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:19:43,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:19:43,958 INFO L273 TraceCheckUtils]: 2: Hoare triple {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:43,960 INFO L273 TraceCheckUtils]: 3: Hoare triple {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-23 14:19:43,960 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:43,960 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:43,999 INFO L273 TraceCheckUtils]: 3: Hoare triple {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2018-12-23 14:19:44,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:44,002 INFO L273 TraceCheckUtils]: 1: Hoare triple {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:44,004 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:44,005 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:44,026 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:44,026 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:44,026 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:44,026 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:44,026 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:44,026 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:44,040 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:44,041 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:44,041 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:44,041 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:44,041 INFO L87 Difference]: Start difference. First operand 29 states and 98 transitions. Second operand 8 states. [2018-12-23 14:19:46,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:46,534 INFO L93 Difference]: Finished difference Result 59 states and 140 transitions. [2018-12-23 14:19:46,534 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:46,534 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:46,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:46,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:46,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-23 14:19:46,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:46,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2018-12-23 14:19:46,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2018-12-23 14:19:46,714 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:46,716 INFO L225 Difference]: With dead ends: 59 [2018-12-23 14:19:46,716 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:19:46,716 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:46,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:19:46,909 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-23 14:19:46,910 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:46,910 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:46,910 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:46,911 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:46,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:46,914 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-23 14:19:46,914 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-23 14:19:46,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:46,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:46,915 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-23 14:19:46,915 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-23 14:19:46,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:46,918 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2018-12-23 14:19:46,918 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2018-12-23 14:19:46,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:46,918 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:46,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:46,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:46,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-23 14:19:46,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2018-12-23 14:19:46,921 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 110 transitions. Word has length 4 [2018-12-23 14:19:46,921 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:46,921 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 110 transitions. [2018-12-23 14:19:46,921 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:46,922 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 110 transitions. [2018-12-23 14:19:46,922 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:46,922 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:46,922 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:46,922 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:46,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:46,923 INFO L82 PathProgramCache]: Analyzing trace with hash 941156, now seen corresponding path program 1 times [2018-12-23 14:19:46,923 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:46,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:46,924 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:46,924 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:46,924 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:46,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:47,174 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:47,178 INFO L273 TraceCheckUtils]: 1: Hoare triple {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:47,179 INFO L273 TraceCheckUtils]: 2: Hoare triple {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:47,180 INFO L273 TraceCheckUtils]: 3: Hoare triple {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-23 14:19:47,180 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:47,180 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:47,180 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:47,180 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:47,181 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [27] [2018-12-23 14:19:47,182 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:47,182 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:47,191 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:47,192 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:47,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:47,192 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:47,193 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:47,193 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:47,204 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:47,205 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:47,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:47,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:47,213 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:47,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:47,274 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:47,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,284 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:47,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,308 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,309 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,310 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:47,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:47,438 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:47,446 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,476 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,500 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,520 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,536 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,550 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:47,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,635 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:47,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:47,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:47,776 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:47,780 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,797 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,819 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,837 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:47,875 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:47,876 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:47,886 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:47,886 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_14|]. (let ((.cse2 (store |v_#valid_14| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-23 14:19:47,886 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:48,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,001 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:19:48,009 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:48,044 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:48,044 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:48,052 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:48,052 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:48,052 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:48,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:48,173 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:48,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2018-12-23 14:19:48,181 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:48,218 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:48,219 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-23 14:19:48,234 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:48,235 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_56| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_56| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_56| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_56| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:19:48,235 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:48,271 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:48,273 INFO L273 TraceCheckUtils]: 1: Hoare triple {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:48,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:19:48,277 INFO L273 TraceCheckUtils]: 3: Hoare triple {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-23 14:19:48,277 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:48,278 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:48,323 INFO L273 TraceCheckUtils]: 3: Hoare triple {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2018-12-23 14:19:48,324 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,326 INFO L273 TraceCheckUtils]: 1: Hoare triple {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,328 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,329 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:48,348 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:48,348 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:48,348 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:48,349 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:48,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:48,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:48,362 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:48,362 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:48,362 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:48,362 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:48,363 INFO L87 Difference]: Start difference. First operand 30 states and 110 transitions. Second operand 8 states. [2018-12-23 14:19:49,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,635 INFO L93 Difference]: Finished difference Result 57 states and 144 transitions. [2018-12-23 14:19:49,636 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:49,636 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:49,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:49,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:49,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-23 14:19:49,637 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:49,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-23 14:19:49,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-23 14:19:49,775 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:49,777 INFO L225 Difference]: With dead ends: 57 [2018-12-23 14:19:49,777 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:19:49,778 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:49,778 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:19:49,974 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2018-12-23 14:19:49,974 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:49,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:49,975 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:49,975 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2018-12-23 14:19:49,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,979 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-23 14:19:49,979 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-23 14:19:49,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,980 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2018-12-23 14:19:49,980 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2018-12-23 14:19:49,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,983 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2018-12-23 14:19:49,983 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2018-12-23 14:19:49,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,983 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:49,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:49,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2018-12-23 14:19:49,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2018-12-23 14:19:49,986 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 109 transitions. Word has length 4 [2018-12-23 14:19:49,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:49,986 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 109 transitions. [2018-12-23 14:19:49,986 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:49,986 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 109 transitions. [2018-12-23 14:19:49,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:49,987 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:49,987 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:49,987 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:49,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:49,988 INFO L82 PathProgramCache]: Analyzing trace with hash 941280, now seen corresponding path program 1 times [2018-12-23 14:19:49,988 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:49,988 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,989 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:49,989 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,989 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:49,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:50,153 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:19:50,154 INFO L273 TraceCheckUtils]: 1: Hoare triple {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:19:50,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:50,156 INFO L273 TraceCheckUtils]: 3: Hoare triple {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-23 14:19:50,156 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:50,157 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:50,157 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:50,157 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:50,157 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [27] [2018-12-23 14:19:50,159 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:50,159 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:50,191 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:50,191 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:50,191 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:50,191 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:50,191 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:50,191 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:50,200 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:50,200 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:50,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:50,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:50,215 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:50,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:50,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:50,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,399 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:50,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:50,487 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,503 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,519 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,536 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:50,571 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:50,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:50,608 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:50,625 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:50,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:50,677 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,065 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,184 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,201 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,215 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,227 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,278 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:51,278 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:51,290 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:51,291 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_15|]. (let ((.cse0 (store |v_#valid_15| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_59| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-23 14:19:51,291 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:51,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:51,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:19:51,406 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:51,439 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:51,440 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:52,470 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:52,470 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_60| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_60| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_60| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p3)))) [2018-12-23 14:19:52,470 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:52,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-23 14:19:52,562 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:52,598 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:52,599 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-23 14:19:52,646 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:52,646 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_61| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_61| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_61| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_61| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:19:52,646 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-23 14:19:52,677 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:52,679 INFO L273 TraceCheckUtils]: 1: Hoare triple {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} is VALID [2018-12-23 14:19:52,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:19:52,681 INFO L273 TraceCheckUtils]: 3: Hoare triple {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-23 14:19:52,682 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:52,682 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:52,722 INFO L273 TraceCheckUtils]: 3: Hoare triple {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2018-12-23 14:19:52,723 INFO L273 TraceCheckUtils]: 2: Hoare triple {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:52,725 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:52,727 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:52,727 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:52,747 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:52,748 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:52,748 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:52,748 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:52,748 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:52,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:52,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:52,762 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:52,762 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:52,762 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:52,763 INFO L87 Difference]: Start difference. First operand 30 states and 109 transitions. Second operand 8 states. [2018-12-23 14:19:53,068 WARN L181 SmtUtils]: Spent 187.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2018-12-23 14:19:54,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:54,197 INFO L93 Difference]: Finished difference Result 57 states and 158 transitions. [2018-12-23 14:19:54,197 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:54,197 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:54,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:54,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:54,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-23 14:19:54,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:54,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-23 14:19:54,199 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-23 14:19:54,352 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:54,353 INFO L225 Difference]: With dead ends: 57 [2018-12-23 14:19:54,354 INFO L226 Difference]: Without dead ends: 53 [2018-12-23 14:19:54,354 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:19:54,354 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-12-23 14:19:54,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 31. [2018-12-23 14:19:54,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:54,572 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 31 states. [2018-12-23 14:19:54,573 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 31 states. [2018-12-23 14:19:54,573 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 31 states. [2018-12-23 14:19:54,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:54,576 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-23 14:19:54,576 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-23 14:19:54,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:54,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:54,577 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 53 states. [2018-12-23 14:19:54,577 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 53 states. [2018-12-23 14:19:54,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:54,579 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2018-12-23 14:19:54,580 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2018-12-23 14:19:54,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:54,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:54,580 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:54,580 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:54,580 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-23 14:19:54,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2018-12-23 14:19:54,583 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 126 transitions. Word has length 4 [2018-12-23 14:19:54,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:54,583 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 126 transitions. [2018-12-23 14:19:54,583 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:54,583 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 126 transitions. [2018-12-23 14:19:54,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:54,583 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:54,583 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:54,584 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:54,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:54,584 INFO L82 PathProgramCache]: Analyzing trace with hash 929872, now seen corresponding path program 1 times [2018-12-23 14:19:54,584 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:54,585 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:54,585 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:54,585 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:54,585 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:54,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:54,775 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:54,777 INFO L273 TraceCheckUtils]: 1: Hoare triple {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:19:54,778 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:54,778 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-23 14:19:54,778 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:54,778 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:54,779 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:54,779 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:54,779 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [27] [2018-12-23 14:19:54,781 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:54,781 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:54,790 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:54,790 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:54,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:54,790 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:54,790 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:54,790 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:54,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:54,801 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:54,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:54,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:54,813 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:54,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:54,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,922 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:54,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,988 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:55,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:55,066 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,084 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,102 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,120 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:55,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:55,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:55,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:55,206 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:55,260 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:55,263 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,291 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,313 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,330 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,344 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,357 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,401 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:55,401 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:55,432 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:55,432 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_16|]. (let ((.cse2 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_64| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)))))) [2018-12-23 14:19:55,432 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:55,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,610 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:55,615 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,655 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:55,656 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:55,663 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:55,663 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_65| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_65| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_65| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_65| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:55,663 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:55,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:55,755 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2018-12-23 14:19:55,760 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:55,800 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:55,800 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-23 14:19:56,906 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:56,907 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_66| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_66| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_66| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_66| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_66| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_66| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:19:56,907 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:56,947 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:56,949 INFO L273 TraceCheckUtils]: 1: Hoare triple {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:19:56,952 INFO L273 TraceCheckUtils]: 2: Hoare triple {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:56,952 INFO L273 TraceCheckUtils]: 3: Hoare triple {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-23 14:19:56,953 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:56,953 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:56,983 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2018-12-23 14:19:56,985 INFO L273 TraceCheckUtils]: 2: Hoare triple {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:56,986 INFO L273 TraceCheckUtils]: 1: Hoare triple {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:56,988 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:56,989 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:57,007 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:57,007 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:19:57,007 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:57,008 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:57,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:57,008 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:57,022 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:57,022 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:57,023 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:57,023 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:19:57,023 INFO L87 Difference]: Start difference. First operand 31 states and 126 transitions. Second operand 8 states. [2018-12-23 14:19:58,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:58,007 INFO L93 Difference]: Finished difference Result 73 states and 228 transitions. [2018-12-23 14:19:58,007 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:19:58,007 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:58,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:58,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:58,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-23 14:19:58,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:58,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2018-12-23 14:19:58,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 92 transitions. [2018-12-23 14:19:58,178 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:58,180 INFO L225 Difference]: With dead ends: 73 [2018-12-23 14:19:58,180 INFO L226 Difference]: Without dead ends: 71 [2018-12-23 14:19:58,181 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:19:58,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-12-23 14:19:58,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 40. [2018-12-23 14:19:58,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:58,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 40 states. [2018-12-23 14:19:58,475 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 40 states. [2018-12-23 14:19:58,475 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 40 states. [2018-12-23 14:19:58,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:58,479 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-23 14:19:58,479 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-23 14:19:58,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:58,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:58,479 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 71 states. [2018-12-23 14:19:58,479 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 71 states. [2018-12-23 14:19:58,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:58,481 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2018-12-23 14:19:58,482 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2018-12-23 14:19:58,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:58,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:58,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:58,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:58,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-12-23 14:19:58,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 173 transitions. [2018-12-23 14:19:58,484 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 173 transitions. Word has length 4 [2018-12-23 14:19:58,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:58,484 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 173 transitions. [2018-12-23 14:19:58,484 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:58,485 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 173 transitions. [2018-12-23 14:19:58,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:58,485 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:58,485 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:58,485 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:58,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:58,486 INFO L82 PathProgramCache]: Analyzing trace with hash 930184, now seen corresponding path program 1 times [2018-12-23 14:19:58,486 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:58,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:58,487 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:58,487 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:58,487 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:58,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:58,580 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:58,581 INFO L273 TraceCheckUtils]: 1: Hoare triple {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:58,581 INFO L273 TraceCheckUtils]: 2: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:58,582 INFO L273 TraceCheckUtils]: 3: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-23 14:19:58,582 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:58,583 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:58,583 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:58,583 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:58,583 INFO L207 CegarAbsIntRunner]: [0], [6], [28], [29] [2018-12-23 14:19:58,586 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:58,586 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:58,603 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:58,603 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:58,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:58,604 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:58,604 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:58,604 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:58,613 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:58,614 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:58,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:58,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:58,623 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:58,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:19:58,690 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:19:58,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:19:58,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:19:58,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,759 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:19:58,791 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:19:58,796 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,827 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,851 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,872 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,889 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,904 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:58,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,937 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:58,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:58,993 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:59,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,078 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:59,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:59,156 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:59,172 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:59,188 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:59,203 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:59,247 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:59,248 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2018-12-23 14:19:59,297 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:59,298 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_17|]. (let ((.cse2 (store |v_#valid_17| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_69| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-23 14:19:59,298 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:19:59,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:59,390 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:59,393 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:59,431 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:59,431 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:01,456 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:01,457 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_70| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (store |v_#memory_int_70| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:01,457 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:01,517 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:01,519 INFO L273 TraceCheckUtils]: 1: Hoare triple {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:01,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:01,521 INFO L273 TraceCheckUtils]: 3: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-23 14:20:01,522 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:01,522 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:01,544 INFO L273 TraceCheckUtils]: 3: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2018-12-23 14:20:01,550 INFO L273 TraceCheckUtils]: 2: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:01,551 INFO L273 TraceCheckUtils]: 1: Hoare triple {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:01,552 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:01,553 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:01,572 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:01,572 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:20:01,572 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:01,572 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:01,572 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:01,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:20:01,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:01,592 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:20:01,592 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:20:01,592 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:20:01,593 INFO L87 Difference]: Start difference. First operand 40 states and 173 transitions. Second operand 6 states. [2018-12-23 14:20:02,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:02,335 INFO L93 Difference]: Finished difference Result 56 states and 192 transitions. [2018-12-23 14:20:02,335 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:20:02,335 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:02,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:02,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:02,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-23 14:20:02,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:02,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2018-12-23 14:20:02,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2018-12-23 14:20:02,406 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:02,408 INFO L225 Difference]: With dead ends: 56 [2018-12-23 14:20:02,408 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:20:02,409 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:20:02,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:20:02,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 42. [2018-12-23 14:20:02,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:02,735 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 42 states. [2018-12-23 14:20:02,736 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 42 states. [2018-12-23 14:20:02,736 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 42 states. [2018-12-23 14:20:02,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:02,738 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-23 14:20:02,738 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-23 14:20:02,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:02,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:02,739 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 55 states. [2018-12-23 14:20:02,739 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 55 states. [2018-12-23 14:20:02,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:02,742 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2018-12-23 14:20:02,742 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2018-12-23 14:20:02,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:02,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:02,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:02,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:02,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-12-23 14:20:02,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 180 transitions. [2018-12-23 14:20:02,744 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 180 transitions. Word has length 4 [2018-12-23 14:20:02,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:02,745 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 180 transitions. [2018-12-23 14:20:02,745 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:20:02,745 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 180 transitions. [2018-12-23 14:20:02,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:02,745 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:02,745 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:02,746 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:02,746 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:02,746 INFO L82 PathProgramCache]: Analyzing trace with hash 945434, now seen corresponding path program 1 times [2018-12-23 14:20:02,746 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:02,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:02,747 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:02,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:02,747 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:02,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:02,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2018-12-23 14:20:02,887 INFO L273 TraceCheckUtils]: 1: Hoare triple {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:02,888 INFO L273 TraceCheckUtils]: 2: Hoare triple {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:02,889 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-23 14:20:02,889 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:02,890 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:02,890 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:02,890 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:02,890 INFO L207 CegarAbsIntRunner]: [0], [22], [24], [27] [2018-12-23 14:20:02,893 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:02,893 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:02,905 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:02,906 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:02,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:02,906 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:02,906 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:02,907 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:02,915 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:02,915 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:02,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:02,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:02,927 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:02,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,999 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:20:03,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:20:03,627 WARN L181 SmtUtils]: Spent 472.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 29 [2018-12-23 14:20:03,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,873 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:20:03,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:03,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:20:04,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:20:04,218 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,274 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,306 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,344 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,380 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:04,456 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:04,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:04,511 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:04,564 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:04,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:20:04,603 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,640 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,662 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,680 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,695 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,708 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,764 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:04,765 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-23 14:20:04,783 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:04,783 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_72| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select .cse3 ULTIMATE.start_main_p3))))))) [2018-12-23 14:20:04,783 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:04,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,938 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-23 14:20:04,974 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:05,082 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:05,083 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-23 14:20:07,127 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:07,128 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_73| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:20:07,128 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:07,237 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,245 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,247 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-23 14:20:07,287 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,349 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:07,349 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:81, output treesize:55 [2018-12-23 14:20:07,862 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:07,863 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p5) 1) (= .cse0 0))) [2018-12-23 14:20:07,863 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:07,907 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-23 14:20:07,910 INFO L273 TraceCheckUtils]: 1: Hoare triple {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:20:07,912 INFO L273 TraceCheckUtils]: 2: Hoare triple {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:07,913 INFO L273 TraceCheckUtils]: 3: Hoare triple {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-23 14:20:07,914 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:07,914 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:07,949 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2018-12-23 14:20:07,950 INFO L273 TraceCheckUtils]: 2: Hoare triple {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:07,951 INFO L273 TraceCheckUtils]: 1: Hoare triple {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:07,954 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:07,954 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:07,977 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:07,977 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:20:07,977 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:07,977 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:07,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:07,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:07,993 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:07,993 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:07,993 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:07,993 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:20:07,994 INFO L87 Difference]: Start difference. First operand 42 states and 180 transitions. Second operand 8 states. [2018-12-23 14:20:12,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:12,095 INFO L93 Difference]: Finished difference Result 96 states and 313 transitions. [2018-12-23 14:20:12,095 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:12,095 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:12,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:12,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:12,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-23 14:20:12,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:12,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2018-12-23 14:20:12,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2018-12-23 14:20:12,262 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:12,265 INFO L225 Difference]: With dead ends: 96 [2018-12-23 14:20:12,265 INFO L226 Difference]: Without dead ends: 93 [2018-12-23 14:20:12,265 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:20:12,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-12-23 14:20:12,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 55. [2018-12-23 14:20:12,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:12,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 55 states. [2018-12-23 14:20:12,628 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 55 states. [2018-12-23 14:20:12,629 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 55 states. [2018-12-23 14:20:12,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:12,632 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-23 14:20:12,632 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-23 14:20:12,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:12,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:12,633 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 93 states. [2018-12-23 14:20:12,633 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 93 states. [2018-12-23 14:20:12,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:12,635 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2018-12-23 14:20:12,636 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2018-12-23 14:20:12,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:12,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:12,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:12,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:12,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-12-23 14:20:12,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 250 transitions. [2018-12-23 14:20:12,638 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 250 transitions. Word has length 4 [2018-12-23 14:20:12,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:12,638 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 250 transitions. [2018-12-23 14:20:12,638 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:12,638 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 250 transitions. [2018-12-23 14:20:12,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:12,639 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:12,639 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:12,639 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:12,639 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:12,639 INFO L82 PathProgramCache]: Analyzing trace with hash 945000, now seen corresponding path program 1 times [2018-12-23 14:20:12,639 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:12,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:12,640 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:12,640 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:12,640 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:12,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:12,779 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:12,781 INFO L273 TraceCheckUtils]: 1: Hoare triple {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:12,782 INFO L273 TraceCheckUtils]: 2: Hoare triple {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:12,782 INFO L273 TraceCheckUtils]: 3: Hoare triple {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-23 14:20:12,783 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:12,783 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:12,783 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:12,783 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:12,784 INFO L207 CegarAbsIntRunner]: [0], [10], [22], [27] [2018-12-23 14:20:12,786 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:12,786 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:12,797 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:12,797 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:12,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:12,797 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:12,797 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:12,797 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:12,806 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:12,807 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:12,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:12,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:12,815 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:12,935 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:12,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:12,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,953 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,954 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:12,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:12,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:13,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:20:13,036 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,068 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,092 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,113 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,130 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,146 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,182 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:13,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:13,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:13,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,413 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:13,418 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,440 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,461 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,482 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,535 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:13,535 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:20:13,551 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:13,551 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_19|]. (let ((.cse2 (store |v_#valid_19| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_77| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2018-12-23 14:20:13,552 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:13,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:13,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:20:13,704 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:13,753 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:13,753 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:14,820 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:14,821 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_78| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:14,821 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:14,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,927 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:20:14,939 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:14,992 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:14,992 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-23 14:20:17,025 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:17,027 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_79| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:20:17,027 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:17,062 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:17,064 INFO L273 TraceCheckUtils]: 1: Hoare triple {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:17,066 INFO L273 TraceCheckUtils]: 2: Hoare triple {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:17,066 INFO L273 TraceCheckUtils]: 3: Hoare triple {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-23 14:20:17,067 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:17,067 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:17,111 INFO L273 TraceCheckUtils]: 3: Hoare triple {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2018-12-23 14:20:17,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,113 INFO L273 TraceCheckUtils]: 1: Hoare triple {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,115 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,115 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:17,134 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:17,134 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:17,134 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:17,134 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:17,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:17,135 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:17,146 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:17,146 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:17,146 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:17,146 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:17,147 INFO L87 Difference]: Start difference. First operand 55 states and 250 transitions. Second operand 8 states. [2018-12-23 14:20:20,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:20,836 INFO L93 Difference]: Finished difference Result 84 states and 299 transitions. [2018-12-23 14:20:20,836 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:20,836 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:20,836 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:20,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:20,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-23 14:20:20,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:20,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2018-12-23 14:20:20,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2018-12-23 14:20:21,338 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:21,340 INFO L225 Difference]: With dead ends: 84 [2018-12-23 14:20:21,340 INFO L226 Difference]: Without dead ends: 82 [2018-12-23 14:20:21,341 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:20:21,341 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-12-23 14:20:21,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 58. [2018-12-23 14:20:21,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:21,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 58 states. [2018-12-23 14:20:21,665 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 58 states. [2018-12-23 14:20:21,665 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 58 states. [2018-12-23 14:20:21,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:21,668 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-23 14:20:21,668 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-23 14:20:21,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:21,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:21,669 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 82 states. [2018-12-23 14:20:21,669 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 82 states. [2018-12-23 14:20:21,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:21,672 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2018-12-23 14:20:21,672 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2018-12-23 14:20:21,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:21,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:21,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:21,673 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:21,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-12-23 14:20:21,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 270 transitions. [2018-12-23 14:20:21,675 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 270 transitions. Word has length 4 [2018-12-23 14:20:21,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:21,675 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 270 transitions. [2018-12-23 14:20:21,675 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:21,675 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 270 transitions. [2018-12-23 14:20:21,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:21,676 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:21,676 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:21,676 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:21,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:21,676 INFO L82 PathProgramCache]: Analyzing trace with hash 946922, now seen corresponding path program 1 times [2018-12-23 14:20:21,676 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:21,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:21,677 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:21,677 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:21,678 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:21,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:21,938 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:20:21,939 INFO L273 TraceCheckUtils]: 1: Hoare triple {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:21,940 INFO L273 TraceCheckUtils]: 2: Hoare triple {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:21,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-23 14:20:21,941 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:21,941 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:21,941 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:21,942 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:21,942 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [27] [2018-12-23 14:20:21,943 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:21,944 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:21,951 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:21,951 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:21,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:21,951 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:21,952 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:21,952 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:21,963 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:21,963 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:21,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:21,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:21,977 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:22,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:22,039 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:22,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,050 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:22,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,094 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:22,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,307 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,308 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,309 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:22,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:20:22,339 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,379 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,402 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,423 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,436 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,450 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,487 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:20:22,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:20:22,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,618 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:20:22,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,706 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:20:22,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:22,814 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:20:22,818 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,844 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,872 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,899 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,927 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,983 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:22,983 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-23 14:20:22,999 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:23,000 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_82| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-23 14:20:23,000 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:23,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,114 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-23 14:20:23,119 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,174 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:23,174 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-23 14:20:25,212 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:25,213 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_83| ULTIMATE.start_main_p6))) (and (= 0 .cse0) (= (select |v_#memory_int_83| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_83| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_83| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:20:25,213 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:25,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,351 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:25,356 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:25,357 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 112 [2018-12-23 14:20:25,394 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:25,463 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:25,464 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-23 14:20:25,622 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:25,622 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p2))) (and (= (+ (select |v_#memory_int_84| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-23 14:20:25,622 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:25,664 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:20:25,667 INFO L273 TraceCheckUtils]: 1: Hoare triple {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:25,669 INFO L273 TraceCheckUtils]: 2: Hoare triple {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} is VALID [2018-12-23 14:20:25,670 INFO L273 TraceCheckUtils]: 3: Hoare triple {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-23 14:20:25,670 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:25,671 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:25,711 INFO L273 TraceCheckUtils]: 3: Hoare triple {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2018-12-23 14:20:25,712 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:25,714 INFO L273 TraceCheckUtils]: 1: Hoare triple {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:25,716 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:25,717 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:25,736 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:25,736 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:25,737 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:25,737 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:25,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:25,737 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:25,750 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:25,750 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:25,751 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:25,751 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:25,751 INFO L87 Difference]: Start difference. First operand 58 states and 270 transitions. Second operand 8 states. [2018-12-23 14:20:30,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:30,279 INFO L93 Difference]: Finished difference Result 91 states and 313 transitions. [2018-12-23 14:20:30,279 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:30,279 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:30,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:30,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:30,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-23 14:20:30,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:30,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2018-12-23 14:20:30,281 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2018-12-23 14:20:30,398 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:30,399 INFO L225 Difference]: With dead ends: 91 [2018-12-23 14:20:30,399 INFO L226 Difference]: Without dead ends: 89 [2018-12-23 14:20:30,400 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:30,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-23 14:20:31,088 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 59. [2018-12-23 14:20:31,088 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:31,088 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 59 states. [2018-12-23 14:20:31,089 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 59 states. [2018-12-23 14:20:31,089 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 59 states. [2018-12-23 14:20:31,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:31,092 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-23 14:20:31,092 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-23 14:20:31,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:31,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:31,092 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 89 states. [2018-12-23 14:20:31,093 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 89 states. [2018-12-23 14:20:31,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:31,095 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2018-12-23 14:20:31,095 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2018-12-23 14:20:31,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:31,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:31,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:31,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:31,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2018-12-23 14:20:31,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 277 transitions. [2018-12-23 14:20:31,097 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 277 transitions. Word has length 4 [2018-12-23 14:20:31,098 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:31,098 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 277 transitions. [2018-12-23 14:20:31,098 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:31,098 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 277 transitions. [2018-12-23 14:20:31,098 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:31,098 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:31,098 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:31,099 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:31,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:31,099 INFO L82 PathProgramCache]: Analyzing trace with hash 934028, now seen corresponding path program 1 times [2018-12-23 14:20:31,099 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:31,100 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:31,100 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:31,100 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:31,100 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:31,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,485 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:31,498 INFO L273 TraceCheckUtils]: 1: Hoare triple {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:31,511 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:31,523 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-23 14:20:31,524 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:31,524 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:31,524 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:31,524 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:31,524 INFO L207 CegarAbsIntRunner]: [0], [10], [28], [29] [2018-12-23 14:20:31,525 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:31,526 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:31,590 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:31,590 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:20:31,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:31,591 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:31,591 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:31,591 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:31,607 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:31,608 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:31,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,644 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:31,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:31,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-23 14:20:31,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,799 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-23 14:20:31,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,818 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-23 14:20:31,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:31,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-23 14:20:31,876 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-23 14:20:31,882 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:31,913 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:31,934 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:31,953 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:31,969 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:31,984 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:20:32,039 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,042 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:20:32,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,102 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:20:32,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,178 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:20:32,182 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,199 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,215 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,235 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,276 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:32,276 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:64, output treesize:67 [2018-12-23 14:20:32,364 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:32,364 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_21|]. (let ((.cse0 (store (store |v_#valid_21| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_87| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-23 14:20:32,364 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:32,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:20:32,501 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:20:32,618 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-23 14:20:32,618 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:92 [2018-12-23 14:20:34,677 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:34,678 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_88| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:34,678 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, v_prenex_3, v_prenex_1, v_prenex_2]. (let ((.cse0 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse0 (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (not (= v_prenex_3 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p2)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_2 v_prenex_1)) (= (select |#memory_int| v_prenex_3) 0) (= (select |#memory_int| v_prenex_1) 0)))) [2018-12-23 14:20:34,947 WARN L181 SmtUtils]: Spent 215.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 29 [2018-12-23 14:20:34,981 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:34,983 INFO L273 TraceCheckUtils]: 1: Hoare triple {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:20:34,984 INFO L273 TraceCheckUtils]: 2: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:20:34,985 INFO L273 TraceCheckUtils]: 3: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-23 14:20:34,986 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:34,986 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:35,005 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2018-12-23 14:20:35,006 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:35,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:35,011 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:20:35,012 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:35,050 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:20:35,050 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-23 14:20:35,050 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:20:35,050 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:20:35,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:35,051 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:20:35,056 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:35,056 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:20:35,056 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:20:35,056 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:20:35,056 INFO L87 Difference]: Start difference. First operand 59 states and 277 transitions. Second operand 4 states. [2018-12-23 14:20:35,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:35,577 INFO L93 Difference]: Finished difference Result 90 states and 454 transitions. [2018-12-23 14:20:35,578 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-12-23 14:20:35,578 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:20:35,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:35,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:20:35,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-23 14:20:35,578 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:20:35,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2018-12-23 14:20:35,579 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2018-12-23 14:20:35,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:35,615 INFO L225 Difference]: With dead ends: 90 [2018-12-23 14:20:35,615 INFO L226 Difference]: Without dead ends: 89 [2018-12-23 14:20:35,616 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:20:35,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2018-12-23 14:20:36,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 83. [2018-12-23 14:20:36,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:36,071 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 83 states. [2018-12-23 14:20:36,072 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 83 states. [2018-12-23 14:20:36,072 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 83 states. [2018-12-23 14:20:36,075 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:36,075 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-23 14:20:36,075 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-23 14:20:36,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:36,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:36,076 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 89 states. [2018-12-23 14:20:36,076 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 89 states. [2018-12-23 14:20:36,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:36,079 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2018-12-23 14:20:36,079 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2018-12-23 14:20:36,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:36,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:36,079 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:36,079 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:36,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2018-12-23 14:20:36,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 449 transitions. [2018-12-23 14:20:36,082 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 449 transitions. Word has length 4 [2018-12-23 14:20:36,082 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:36,082 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 449 transitions. [2018-12-23 14:20:36,082 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:20:36,082 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 449 transitions. [2018-12-23 14:20:36,083 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:36,083 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:36,083 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:36,083 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:36,083 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:36,084 INFO L82 PathProgramCache]: Analyzing trace with hash 933592, now seen corresponding path program 1 times [2018-12-23 14:20:36,084 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:36,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:36,084 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:36,084 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:36,085 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:36,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:36,186 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:36,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:20:36,188 INFO L273 TraceCheckUtils]: 2: Hoare triple {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:36,189 INFO L273 TraceCheckUtils]: 3: Hoare triple {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-23 14:20:36,189 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:36,190 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:36,190 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:36,190 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:36,190 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [27] [2018-12-23 14:20:36,191 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:36,192 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:36,250 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:36,251 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:36,251 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:36,251 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:36,251 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:36,251 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:36,260 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:36,260 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:36,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:36,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:36,270 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:36,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,320 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:36,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,373 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:36,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,434 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:36,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,643 INFO L303 Elim1Store]: Index analysis took 140 ms [2018-12-23 14:20:36,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:36,647 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,670 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,693 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,716 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,751 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:36,761 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:36,774 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:36,790 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:36,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:36,852 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:20:36,856 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,884 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,903 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,920 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,935 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,948 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,988 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:36,988 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:20:37,011 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:37,011 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_22|]. (let ((.cse0 (store |v_#valid_22| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_90| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-23 14:20:37,012 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:37,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:37,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:20:37,157 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:37,194 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:37,195 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:39,210 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:39,210 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:20:39,210 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:39,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:39,298 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-23 14:20:39,302 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:39,340 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:39,340 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-23 14:20:39,474 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:39,475 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_92| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_92| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_92| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_92| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p4) 0))) [2018-12-23 14:20:39,475 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:39,508 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:39,510 INFO L273 TraceCheckUtils]: 1: Hoare triple {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:20:39,511 INFO L273 TraceCheckUtils]: 2: Hoare triple {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:20:39,512 INFO L273 TraceCheckUtils]: 3: Hoare triple {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-23 14:20:39,512 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:39,512 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:39,558 INFO L273 TraceCheckUtils]: 3: Hoare triple {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2018-12-23 14:20:39,559 INFO L273 TraceCheckUtils]: 2: Hoare triple {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:39,560 INFO L273 TraceCheckUtils]: 1: Hoare triple {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:39,563 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:39,563 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:39,583 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:39,583 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:39,583 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:39,583 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:39,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:39,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:39,595 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:39,595 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:39,596 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:39,596 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:39,596 INFO L87 Difference]: Start difference. First operand 83 states and 449 transitions. Second operand 8 states. [2018-12-23 14:20:41,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:41,572 INFO L93 Difference]: Finished difference Result 121 states and 532 transitions. [2018-12-23 14:20:41,572 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:41,572 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:41,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:41,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:41,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-23 14:20:41,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:41,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2018-12-23 14:20:41,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2018-12-23 14:20:41,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:41,683 INFO L225 Difference]: With dead ends: 121 [2018-12-23 14:20:41,683 INFO L226 Difference]: Without dead ends: 119 [2018-12-23 14:20:41,684 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:41,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-12-23 14:20:42,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 91. [2018-12-23 14:20:42,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:42,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 91 states. [2018-12-23 14:20:42,390 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 91 states. [2018-12-23 14:20:42,391 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 91 states. [2018-12-23 14:20:42,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:42,394 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-23 14:20:42,394 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-23 14:20:42,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:42,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:42,395 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 119 states. [2018-12-23 14:20:42,395 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 119 states. [2018-12-23 14:20:42,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:42,397 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2018-12-23 14:20:42,398 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2018-12-23 14:20:42,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:42,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:42,398 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:42,398 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:42,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-23 14:20:42,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-23 14:20:42,401 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-23 14:20:42,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:42,401 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-23 14:20:42,401 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:42,401 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-23 14:20:42,401 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:42,401 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:42,401 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:42,402 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:42,402 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:42,402 INFO L82 PathProgramCache]: Analyzing trace with hash 937872, now seen corresponding path program 1 times [2018-12-23 14:20:42,402 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:42,402 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:42,402 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:42,403 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:42,403 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:42,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:42,484 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:42,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:42,485 INFO L273 TraceCheckUtils]: 2: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:42,486 INFO L273 TraceCheckUtils]: 3: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-23 14:20:42,486 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:42,487 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:42,487 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:42,487 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:42,488 INFO L207 CegarAbsIntRunner]: [0], [14], [28], [29] [2018-12-23 14:20:42,490 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:42,490 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:42,502 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:42,502 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:20:42,502 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:42,502 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:42,502 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:42,502 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:42,513 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:42,513 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:42,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:42,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:42,530 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:42,550 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:42,559 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2018-12-23 14:20:42,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,571 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2018-12-23 14:20:42,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-23 14:20:42,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2018-12-23 14:20:42,647 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2018-12-23 14:20:42,654 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,685 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,709 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,728 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,745 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,761 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:20:42,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,820 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:20:42,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:20:42,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,958 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,959 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:20:42,963 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,981 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,998 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:43,016 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:43,058 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:43,059 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:64, output treesize:67 [2018-12-23 14:20:43,104 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:43,105 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_23|]. (let ((.cse0 (store (store |v_#valid_23| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p4) 0) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0))))) [2018-12-23 14:20:43,105 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:43,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:43,261 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:20:43,269 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:43,305 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:43,305 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-23 14:20:45,629 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:45,630 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_96| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_96| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:45,630 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:45,721 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:20:45,724 INFO L273 TraceCheckUtils]: 1: Hoare triple {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:45,725 INFO L273 TraceCheckUtils]: 2: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:45,725 INFO L273 TraceCheckUtils]: 3: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-23 14:20:45,726 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:45,726 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:45,753 INFO L273 TraceCheckUtils]: 3: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2018-12-23 14:20:45,754 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:45,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:45,757 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:45,758 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:45,776 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:45,776 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:20:45,776 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:45,777 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:45,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:45,777 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:20:45,796 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:45,796 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:20:45,796 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:20:45,796 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:20:45,797 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 6 states. [2018-12-23 14:20:47,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,210 INFO L93 Difference]: Finished difference Result 110 states and 511 transitions. [2018-12-23 14:20:47,211 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:20:47,211 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:47,211 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:47,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:47,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:20:47,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:47,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:20:47,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-23 14:20:47,292 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:47,295 INFO L225 Difference]: With dead ends: 110 [2018-12-23 14:20:47,295 INFO L226 Difference]: Without dead ends: 109 [2018-12-23 14:20:47,296 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:20:47,296 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2018-12-23 14:20:47,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 91. [2018-12-23 14:20:47,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:47,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 91 states. [2018-12-23 14:20:47,936 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 91 states. [2018-12-23 14:20:47,936 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 91 states. [2018-12-23 14:20:47,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,939 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-23 14:20:47,939 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-23 14:20:47,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,940 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,940 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 109 states. [2018-12-23 14:20:47,940 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 109 states. [2018-12-23 14:20:47,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,943 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2018-12-23 14:20:47,943 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2018-12-23 14:20:47,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:47,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:47,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-23 14:20:47,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2018-12-23 14:20:47,947 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2018-12-23 14:20:47,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:47,947 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2018-12-23 14:20:47,947 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:20:47,947 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2018-12-23 14:20:47,947 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:47,947 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:47,948 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2018-12-23 14:20:47,948 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:47,948 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:47,948 INFO L82 PathProgramCache]: Analyzing trace with hash 29182900, now seen corresponding path program 2 times [2018-12-23 14:20:47,948 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:47,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,949 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:47,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,949 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:47,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:48,081 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:48,082 INFO L273 TraceCheckUtils]: 1: Hoare triple {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:48,082 INFO L273 TraceCheckUtils]: 2: Hoare triple {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:48,083 INFO L273 TraceCheckUtils]: 3: Hoare triple {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:48,084 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-23 14:20:48,084 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:48,085 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:48,085 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:48,085 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:20:48,085 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:20:48,085 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:48,085 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:48,095 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:20:48,095 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:20:48,103 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:20:48,103 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:20:48,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:48,107 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:48,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:48,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:48,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,177 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:48,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:48,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:48,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,245 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,249 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:20:48,253 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,296 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,320 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,339 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,355 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,370 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,406 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:20:48,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,469 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:20:48,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,537 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:20:48,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:20:48,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:20:48,731 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,761 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,788 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,815 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,842 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,891 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:48,892 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2018-12-23 14:20:48,922 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:48,923 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= 0 (select .cse3 ULTIMATE.start_main_p5)) (= (select (store .cse3 ULTIMATE.start_main_p5 1) ULTIMATE.start_malloc_ptr) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_98| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_malloc_ptr 0))))))) [2018-12-23 14:20:48,923 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:49,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:20:49,041 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:49,086 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:49,087 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-23 14:20:49,121 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:49,122 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_99| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_99| ULTIMATE.start_malloc_ptr) 0))) [2018-12-23 14:20:49,122 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-23 14:20:49,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:49,225 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 103 [2018-12-23 14:20:49,229 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:49,279 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:49,280 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:71 [2018-12-23 14:20:49,748 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:49,748 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_100| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_malloc_ptr) 0) (= 0 (select |v_#memory_int_100| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ .cse0 1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:20:49,749 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2018-12-23 14:20:50,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,885 INFO L303 Elim1Store]: Index analysis took 162 ms [2018-12-23 14:20:50,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-23 14:20:50,893 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:50,975 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:50,975 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:57 [2018-12-23 14:20:51,033 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:51,034 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_101| ULTIMATE.start_main_p4) 2) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (store |v_#memory_int_101| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_101| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p2)))) [2018-12-23 14:20:51,034 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:51,096 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:51,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-23 14:20:51,107 INFO L273 TraceCheckUtils]: 2: Hoare triple {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2018-12-23 14:20:51,113 INFO L273 TraceCheckUtils]: 3: Hoare triple {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:51,114 INFO L273 TraceCheckUtils]: 4: Hoare triple {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-23 14:20:51,114 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:51,114 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:51,157 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2018-12-23 14:20:51,158 INFO L273 TraceCheckUtils]: 3: Hoare triple {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:51,160 INFO L273 TraceCheckUtils]: 2: Hoare triple {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:51,161 INFO L273 TraceCheckUtils]: 1: Hoare triple {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:51,163 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:51,163 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:51,182 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:51,183 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:20:51,183 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:51,183 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:51,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:51,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:20:51,208 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:51,208 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:20:51,208 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:20:51,209 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:51,209 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 10 states. [2018-12-23 14:20:54,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:54,349 INFO L93 Difference]: Finished difference Result 133 states and 606 transitions. [2018-12-23 14:20:54,349 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:54,349 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:54,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:54,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:54,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-23 14:20:54,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:54,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2018-12-23 14:20:54,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2018-12-23 14:20:54,673 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:54,676 INFO L225 Difference]: With dead ends: 133 [2018-12-23 14:20:54,676 INFO L226 Difference]: Without dead ends: 128 [2018-12-23 14:20:54,677 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=73, Invalid=109, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:20:54,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-12-23 14:20:55,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 95. [2018-12-23 14:20:55,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:55,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 95 states. [2018-12-23 14:20:55,416 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 95 states. [2018-12-23 14:20:55,417 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 95 states. [2018-12-23 14:20:55,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:55,420 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-23 14:20:55,421 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-23 14:20:55,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:55,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:55,421 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 128 states. [2018-12-23 14:20:55,421 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 128 states. [2018-12-23 14:20:55,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:55,424 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2018-12-23 14:20:55,425 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2018-12-23 14:20:55,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:55,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:55,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:55,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:55,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 95 states. [2018-12-23 14:20:55,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 538 transitions. [2018-12-23 14:20:55,428 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 538 transitions. Word has length 5 [2018-12-23 14:20:55,428 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:55,428 INFO L480 AbstractCegarLoop]: Abstraction has 95 states and 538 transitions. [2018-12-23 14:20:55,428 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:20:55,428 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 538 transitions. [2018-12-23 14:20:55,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:55,428 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:55,429 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:55,429 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:55,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:55,429 INFO L82 PathProgramCache]: Analyzing trace with hash 29172052, now seen corresponding path program 1 times [2018-12-23 14:20:55,429 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:55,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:55,430 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:20:55,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:55,430 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:55,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,510 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:55,512 INFO L273 TraceCheckUtils]: 1: Hoare triple {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:55,513 INFO L273 TraceCheckUtils]: 2: Hoare triple {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:55,513 INFO L273 TraceCheckUtils]: 3: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:55,514 INFO L273 TraceCheckUtils]: 4: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-23 14:20:55,514 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:55,514 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:55,515 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:55,515 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:55,515 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [28], [29] [2018-12-23 14:20:55,517 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:55,517 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:55,527 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:55,527 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:55,527 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:55,528 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:55,528 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:55,528 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:55,537 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:55,537 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:55,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,546 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:55,610 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:20:55,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:20:55,669 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,670 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,671 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:20:55,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,688 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:20:55,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,711 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:20:55,742 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:20:55,748 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,780 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,804 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,825 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,840 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,856 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:55,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:55,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,987 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:56,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:56,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:56,140 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,159 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,175 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,193 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,233 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,233 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:20:56,246 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:56,246 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_25|]. (let ((.cse2 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= (store (store (store (store (store (store |v_#memory_int_105| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-23 14:20:56,247 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:20:56,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,407 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:20:56,414 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,450 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,451 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:56,461 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:56,461 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_106| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-23 14:20:56,461 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:56,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,559 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-23 14:20:56,566 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,640 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,641 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-23 14:20:58,683 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:58,683 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_107|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_107| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_107| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_107| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_107| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p3)))) [2018-12-23 14:20:58,683 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:58,762 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:58,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:58,766 INFO L273 TraceCheckUtils]: 2: Hoare triple {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:58,774 INFO L273 TraceCheckUtils]: 3: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:58,775 INFO L273 TraceCheckUtils]: 4: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-23 14:20:58,775 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:58,775 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:58,825 INFO L273 TraceCheckUtils]: 4: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2018-12-23 14:20:58,826 INFO L273 TraceCheckUtils]: 3: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:58,827 INFO L273 TraceCheckUtils]: 2: Hoare triple {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:58,829 INFO L273 TraceCheckUtils]: 1: Hoare triple {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:58,831 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:58,831 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:58,850 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:58,850 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:58,850 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:58,851 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:58,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:58,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:58,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:58,870 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:58,870 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:58,870 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:58,871 INFO L87 Difference]: Start difference. First operand 95 states and 538 transitions. Second operand 8 states. [2018-12-23 14:21:00,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:00,434 INFO L93 Difference]: Finished difference Result 125 states and 622 transitions. [2018-12-23 14:21:00,434 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:21:00,434 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:00,435 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:00,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:00,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:21:00,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:00,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:21:00,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-23 14:21:00,520 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:00,523 INFO L225 Difference]: With dead ends: 125 [2018-12-23 14:21:00,523 INFO L226 Difference]: Without dead ends: 124 [2018-12-23 14:21:00,523 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:00,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2018-12-23 14:21:01,223 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 102. [2018-12-23 14:21:01,224 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:01,224 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 102 states. [2018-12-23 14:21:01,224 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 102 states. [2018-12-23 14:21:01,224 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 102 states. [2018-12-23 14:21:01,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:01,229 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-23 14:21:01,229 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-23 14:21:01,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:01,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:01,230 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 124 states. [2018-12-23 14:21:01,230 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 124 states. [2018-12-23 14:21:01,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:01,234 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2018-12-23 14:21:01,234 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2018-12-23 14:21:01,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:01,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:01,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:01,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:01,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-12-23 14:21:01,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 589 transitions. [2018-12-23 14:21:01,238 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 589 transitions. Word has length 5 [2018-12-23 14:21:01,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:01,239 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 589 transitions. [2018-12-23 14:21:01,239 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:21:01,239 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 589 transitions. [2018-12-23 14:21:01,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:01,239 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:01,239 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:01,240 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:01,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:01,240 INFO L82 PathProgramCache]: Analyzing trace with hash 29187302, now seen corresponding path program 1 times [2018-12-23 14:21:01,240 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:01,241 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:01,241 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:01,241 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:01,241 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:01,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:01,451 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:01,452 INFO L273 TraceCheckUtils]: 1: Hoare triple {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:01,453 INFO L273 TraceCheckUtils]: 2: Hoare triple {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2018-12-23 14:21:01,454 INFO L273 TraceCheckUtils]: 3: Hoare triple {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:01,455 INFO L273 TraceCheckUtils]: 4: Hoare triple {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-23 14:21:01,456 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:01,456 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:01,456 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:01,456 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:01,456 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [24], [27] [2018-12-23 14:21:01,459 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:01,459 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:01,475 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:01,476 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:01,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:01,476 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:01,476 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:01,476 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:01,485 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:01,485 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:01,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:01,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:01,494 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:01,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:21:01,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:21:01,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,689 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:21:01,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:21:01,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:01,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:21:01,891 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:01,920 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:01,953 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:01,980 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,031 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:02,084 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:02,099 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:02,117 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:02,157 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:02,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:21:02,187 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,225 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,247 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,264 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,279 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,293 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,350 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:02,350 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-23 14:21:02,360 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:02,360 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_26|]. (let ((.cse3 (store |v_#valid_26| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= (store (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= 0 (select .cse3 ULTIMATE.start_main_p2)) (= (select .cse1 ULTIMATE.start_main_p5) 0)))))) [2018-12-23 14:21:02,360 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:02,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:21:02,511 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,563 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:02,563 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-23 14:21:02,606 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:02,606 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:02,606 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:02,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 105 [2018-12-23 14:21:02,721 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,775 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:02,776 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-23 14:21:02,794 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:02,795 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_112| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:02,795 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:02,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,889 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:02,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:02,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-23 14:21:02,897 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:02,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:02,957 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-23 14:21:03,084 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:03,084 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_113|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_113| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_113| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_113| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (+ (select |v_#memory_int_113| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:03,084 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:03,127 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-23 14:21:03,130 INFO L273 TraceCheckUtils]: 1: Hoare triple {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2018-12-23 14:21:03,132 INFO L273 TraceCheckUtils]: 2: Hoare triple {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:03,135 INFO L273 TraceCheckUtils]: 3: Hoare triple {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:21:03,136 INFO L273 TraceCheckUtils]: 4: Hoare triple {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-23 14:21:03,137 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:03,137 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:03,237 INFO L273 TraceCheckUtils]: 4: Hoare triple {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2018-12-23 14:21:03,238 INFO L273 TraceCheckUtils]: 3: Hoare triple {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:03,240 INFO L273 TraceCheckUtils]: 2: Hoare triple {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:03,242 INFO L273 TraceCheckUtils]: 1: Hoare triple {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:03,244 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:03,244 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:03,263 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:03,263 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:21:03,264 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:03,264 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:03,264 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:03,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:03,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:03,283 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:03,284 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:03,284 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:21:03,284 INFO L87 Difference]: Start difference. First operand 102 states and 589 transitions. Second operand 10 states. [2018-12-23 14:21:09,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:09,397 INFO L93 Difference]: Finished difference Result 149 states and 665 transitions. [2018-12-23 14:21:09,397 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:21:09,397 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:09,397 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:09,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:09,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-23 14:21:09,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:09,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2018-12-23 14:21:09,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2018-12-23 14:21:09,544 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:09,548 INFO L225 Difference]: With dead ends: 149 [2018-12-23 14:21:09,548 INFO L226 Difference]: Without dead ends: 145 [2018-12-23 14:21:09,549 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:21:09,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2018-12-23 14:21:10,265 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 105. [2018-12-23 14:21:10,266 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:10,266 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 105 states. [2018-12-23 14:21:10,266 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 105 states. [2018-12-23 14:21:10,266 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 105 states. [2018-12-23 14:21:10,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:10,272 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-23 14:21:10,272 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-23 14:21:10,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:10,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:10,273 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 145 states. [2018-12-23 14:21:10,273 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 145 states. [2018-12-23 14:21:10,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:10,277 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2018-12-23 14:21:10,277 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2018-12-23 14:21:10,278 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:10,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:10,278 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:10,278 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:10,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2018-12-23 14:21:10,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 605 transitions. [2018-12-23 14:21:10,282 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 605 transitions. Word has length 5 [2018-12-23 14:21:10,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:10,282 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 605 transitions. [2018-12-23 14:21:10,282 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:10,282 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 605 transitions. [2018-12-23 14:21:10,283 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:10,283 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:10,283 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:10,283 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:10,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:10,283 INFO L82 PathProgramCache]: Analyzing trace with hash 29186868, now seen corresponding path program 1 times [2018-12-23 14:21:10,284 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:10,284 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:10,284 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:10,284 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:10,285 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:10,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:10,548 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:10,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:10,550 INFO L273 TraceCheckUtils]: 2: Hoare triple {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:10,551 INFO L273 TraceCheckUtils]: 3: Hoare triple {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:10,551 INFO L273 TraceCheckUtils]: 4: Hoare triple {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-23 14:21:10,552 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:10,552 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:10,552 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:10,553 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:10,553 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [22], [27] [2018-12-23 14:21:10,556 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:10,557 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:10,579 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:10,579 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:10,580 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:10,580 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:10,580 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:10,580 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:10,588 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:10,588 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:10,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:10,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:10,596 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:10,638 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:10,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:10,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,654 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:10,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:10,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,687 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:10,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:21:10,713 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,742 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,764 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,783 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,798 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,812 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,852 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:21:10,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:21:10,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,958 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,961 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:21:11,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,034 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:21:11,037 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:11,054 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:11,071 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:11,087 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:11,124 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:11,124 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-23 14:21:11,132 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:11,133 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_117| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-23 14:21:11,133 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:11,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:11,247 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:21:11,251 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:11,283 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:11,284 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-23 14:21:13,294 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:13,294 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:13,294 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:13,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:21:13,381 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:13,415 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:13,415 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-23 14:21:15,483 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:15,483 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_119|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_119| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_119| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_119| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_119| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_119| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_119| ULTIMATE.start_main_p4) 1) 0))) [2018-12-23 14:21:15,483 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:15,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,556 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:15,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:15,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2018-12-23 14:21:15,564 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:15,601 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:15,602 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-23 14:21:15,622 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:15,622 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_120| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_120| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_120| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_120| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_120| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_120| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:15,623 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:21:15,656 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:15,658 INFO L273 TraceCheckUtils]: 1: Hoare triple {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:15,659 INFO L273 TraceCheckUtils]: 2: Hoare triple {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:15,661 INFO L273 TraceCheckUtils]: 3: Hoare triple {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:21:15,662 INFO L273 TraceCheckUtils]: 4: Hoare triple {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-23 14:21:15,663 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:15,663 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:15,729 INFO L273 TraceCheckUtils]: 4: Hoare triple {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2018-12-23 14:21:15,730 INFO L273 TraceCheckUtils]: 3: Hoare triple {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:15,731 INFO L273 TraceCheckUtils]: 2: Hoare triple {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:15,733 INFO L273 TraceCheckUtils]: 1: Hoare triple {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:15,736 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:15,736 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:15,756 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:15,756 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:21:15,756 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:15,756 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:15,756 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:15,757 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:15,772 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:15,772 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:15,772 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:15,772 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:21:15,772 INFO L87 Difference]: Start difference. First operand 105 states and 605 transitions. Second operand 10 states. [2018-12-23 14:21:19,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:19,729 INFO L93 Difference]: Finished difference Result 138 states and 662 transitions. [2018-12-23 14:21:19,729 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:21:19,729 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:19,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:19,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:19,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:21:19,730 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:19,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:21:19,731 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-23 14:21:19,852 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:19,855 INFO L225 Difference]: With dead ends: 138 [2018-12-23 14:21:19,855 INFO L226 Difference]: Without dead ends: 136 [2018-12-23 14:21:19,855 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:21:19,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-12-23 14:21:20,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 104. [2018-12-23 14:21:20,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:20,886 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 104 states. [2018-12-23 14:21:20,886 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 104 states. [2018-12-23 14:21:20,886 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 104 states. [2018-12-23 14:21:20,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:20,890 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-23 14:21:20,890 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-23 14:21:20,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:20,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:20,891 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 136 states. [2018-12-23 14:21:20,891 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 136 states. [2018-12-23 14:21:20,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:20,894 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2018-12-23 14:21:20,894 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2018-12-23 14:21:20,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:20,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:20,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:20,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:20,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 104 states. [2018-12-23 14:21:20,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 598 transitions. [2018-12-23 14:21:20,898 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 598 transitions. Word has length 5 [2018-12-23 14:21:20,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:20,898 INFO L480 AbstractCegarLoop]: Abstraction has 104 states and 598 transitions. [2018-12-23 14:21:20,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:20,898 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 598 transitions. [2018-12-23 14:21:20,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:20,898 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:20,898 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:20,899 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:20,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:20,899 INFO L82 PathProgramCache]: Analyzing trace with hash 29188666, now seen corresponding path program 1 times [2018-12-23 14:21:20,899 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:20,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:20,900 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:20,900 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:20,900 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:20,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:21,029 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:21,030 INFO L273 TraceCheckUtils]: 1: Hoare triple {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:21,031 INFO L273 TraceCheckUtils]: 2: Hoare triple {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:21,032 INFO L273 TraceCheckUtils]: 3: Hoare triple {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:21,033 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-23 14:21:21,033 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:21,033 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:21,033 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:21,034 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:21,034 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [27] [2018-12-23 14:21:21,035 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:21,035 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:21,048 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:21,048 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:21,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:21,048 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:21,048 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:21,049 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:21,058 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:21,058 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:21,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:21,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:21,072 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:21,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:21:21,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:21:21,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,286 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:21:21,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,387 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:21:21,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:21:21,513 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,544 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,572 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,600 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,631 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,675 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:21,690 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:21,709 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:21,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:21,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:21,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:21:21,802 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,839 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,862 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,880 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,895 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,910 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,961 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:21,961 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-23 14:21:21,975 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:21,975 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_28|]. (let ((.cse3 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_124| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= 0 (select .cse3 ULTIMATE.start_main_p2))))))) [2018-12-23 14:21:21,975 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:22,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:22,130 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:21:22,138 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:22,195 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:22,196 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2018-12-23 14:21:24,490 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:24,491 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_125| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_125| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_125| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_125| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:24,491 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:24,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:24,627 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:24,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-23 14:21:24,662 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:24,713 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:24,713 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2018-12-23 14:21:24,875 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:24,876 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_126|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_126| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_126| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_126| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_126| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_126| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:24,876 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:21:25,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:25,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 115 [2018-12-23 14:21:25,016 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:25,092 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:25,092 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:51 [2018-12-23 14:21:25,194 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:25,195 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_127| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_127| ULTIMATE.start_main_p6) 1)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_127| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_127| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_127| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:25,195 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:25,229 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:25,232 INFO L273 TraceCheckUtils]: 1: Hoare triple {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:25,235 INFO L273 TraceCheckUtils]: 2: Hoare triple {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:21:25,239 INFO L273 TraceCheckUtils]: 3: Hoare triple {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:21:25,240 INFO L273 TraceCheckUtils]: 4: Hoare triple {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-23 14:21:25,241 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:25,241 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:25,283 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2018-12-23 14:21:25,284 INFO L273 TraceCheckUtils]: 3: Hoare triple {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:25,286 INFO L273 TraceCheckUtils]: 2: Hoare triple {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:25,289 INFO L273 TraceCheckUtils]: 1: Hoare triple {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:25,292 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:25,292 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:25,312 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:25,312 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:21:25,312 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:25,312 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:25,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:25,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:25,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:25,332 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:25,332 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:25,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:25,332 INFO L87 Difference]: Start difference. First operand 104 states and 598 transitions. Second operand 10 states. [2018-12-23 14:21:27,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:27,562 INFO L93 Difference]: Finished difference Result 152 states and 738 transitions. [2018-12-23 14:21:27,562 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:21:27,562 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:27,562 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:27,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:27,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:21:27,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:27,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:21:27,563 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-23 14:21:27,701 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:27,705 INFO L225 Difference]: With dead ends: 152 [2018-12-23 14:21:27,705 INFO L226 Difference]: Without dead ends: 151 [2018-12-23 14:21:27,706 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:21:27,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2018-12-23 14:21:28,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 106. [2018-12-23 14:21:28,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:28,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 106 states. [2018-12-23 14:21:28,585 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 106 states. [2018-12-23 14:21:28,585 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 106 states. [2018-12-23 14:21:28,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:28,590 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-23 14:21:28,590 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-23 14:21:28,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:28,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:28,590 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 151 states. [2018-12-23 14:21:28,591 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 151 states. [2018-12-23 14:21:28,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:28,595 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2018-12-23 14:21:28,595 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2018-12-23 14:21:28,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:28,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:28,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:28,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:28,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-12-23 14:21:28,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 612 transitions. [2018-12-23 14:21:28,600 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 612 transitions. Word has length 5 [2018-12-23 14:21:28,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:28,600 INFO L480 AbstractCegarLoop]: Abstraction has 106 states and 612 transitions. [2018-12-23 14:21:28,600 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:28,600 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 612 transitions. [2018-12-23 14:21:28,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:28,601 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:28,601 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:28,601 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:28,601 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:28,601 INFO L82 PathProgramCache]: Analyzing trace with hash 29188790, now seen corresponding path program 1 times [2018-12-23 14:21:28,602 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:28,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:28,602 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:28,602 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:28,602 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:28,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:28,803 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:28,804 INFO L273 TraceCheckUtils]: 1: Hoare triple {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:28,805 INFO L273 TraceCheckUtils]: 2: Hoare triple {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:28,806 INFO L273 TraceCheckUtils]: 3: Hoare triple {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:28,807 INFO L273 TraceCheckUtils]: 4: Hoare triple {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-23 14:21:28,807 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:28,807 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:28,808 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:28,808 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:28,808 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [27] [2018-12-23 14:21:28,810 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:28,810 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:28,818 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:28,818 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:28,819 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:28,819 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:28,819 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:28,819 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:28,829 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:28,829 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:28,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:28,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:28,867 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:29,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,208 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:21:29,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:21:29,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,347 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,350 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:21:29,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,466 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:21:29,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,575 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:29,582 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:21:29,598 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,658 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,690 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,724 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,758 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,806 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:29,819 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:29,835 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:29,856 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:29,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:29,911 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:21:29,924 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,963 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:29,986 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:30,004 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:30,020 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:30,034 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:30,087 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:30,088 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-23 14:21:30,097 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:30,097 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_131| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse3 ULTIMATE.start_main_p4))))))) [2018-12-23 14:21:30,097 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:30,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:30,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:21:30,251 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:30,301 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:30,301 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-23 14:21:32,336 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:32,336 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_132| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_132| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_132| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_132| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:32,336 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:32,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,452 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,455 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:32,456 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2018-12-23 14:21:32,463 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:32,515 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:32,516 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:59 [2018-12-23 14:21:32,526 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:32,526 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_133|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_133| ULTIMATE.start_main_p6))) (and (= 0 (+ (select |v_#memory_int_133| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_133| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:32,526 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:21:32,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:32,641 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:32,642 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 108 [2018-12-23 14:21:32,648 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:32,774 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:32,774 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:57 [2018-12-23 14:21:33,516 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:33,516 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_134| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_134| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p6) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:33,517 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:33,574 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:33,577 INFO L273 TraceCheckUtils]: 1: Hoare triple {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:33,580 INFO L273 TraceCheckUtils]: 2: Hoare triple {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:21:33,583 INFO L273 TraceCheckUtils]: 3: Hoare triple {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:21:33,584 INFO L273 TraceCheckUtils]: 4: Hoare triple {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-23 14:21:33,585 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:33,585 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:33,672 INFO L273 TraceCheckUtils]: 4: Hoare triple {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2018-12-23 14:21:33,674 INFO L273 TraceCheckUtils]: 3: Hoare triple {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:33,675 INFO L273 TraceCheckUtils]: 2: Hoare triple {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:33,677 INFO L273 TraceCheckUtils]: 1: Hoare triple {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:33,679 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:33,679 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:33,698 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:33,698 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:21:33,698 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:33,699 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:33,699 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:33,699 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:33,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:33,718 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:33,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:33,718 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:21:33,719 INFO L87 Difference]: Start difference. First operand 106 states and 612 transitions. Second operand 10 states. [2018-12-23 14:21:38,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:38,610 INFO L93 Difference]: Finished difference Result 141 states and 665 transitions. [2018-12-23 14:21:38,610 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:21:38,610 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:38,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:38,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:38,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:21:38,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:38,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:21:38,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-23 14:21:38,754 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:38,757 INFO L225 Difference]: With dead ends: 141 [2018-12-23 14:21:38,758 INFO L226 Difference]: Without dead ends: 140 [2018-12-23 14:21:38,758 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:21:38,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2018-12-23 14:21:39,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 107. [2018-12-23 14:21:39,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:39,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 107 states. [2018-12-23 14:21:39,579 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 107 states. [2018-12-23 14:21:39,579 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 107 states. [2018-12-23 14:21:39,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:39,585 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-23 14:21:39,585 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-23 14:21:39,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:39,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:39,585 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 140 states. [2018-12-23 14:21:39,586 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 140 states. [2018-12-23 14:21:39,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:39,590 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2018-12-23 14:21:39,590 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2018-12-23 14:21:39,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:39,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:39,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:39,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:39,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-12-23 14:21:39,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 619 transitions. [2018-12-23 14:21:39,593 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 619 transitions. Word has length 5 [2018-12-23 14:21:39,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:39,593 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 619 transitions. [2018-12-23 14:21:39,593 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:39,593 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 619 transitions. [2018-12-23 14:21:39,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:39,594 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:39,594 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:39,594 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:39,594 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:39,594 INFO L82 PathProgramCache]: Analyzing trace with hash 29175212, now seen corresponding path program 1 times [2018-12-23 14:21:39,594 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:39,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:39,595 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:39,595 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:39,595 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:39,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:39,733 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:39,734 INFO L273 TraceCheckUtils]: 1: Hoare triple {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:39,735 INFO L273 TraceCheckUtils]: 2: Hoare triple {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:39,736 INFO L273 TraceCheckUtils]: 3: Hoare triple {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:39,736 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-23 14:21:39,736 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:39,736 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:39,736 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:39,737 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:39,737 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [27] [2018-12-23 14:21:39,739 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:39,739 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:39,749 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:39,749 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:39,749 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:39,750 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:39,750 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:39,750 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:39,761 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:39,762 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:39,767 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:39,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:39,771 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:39,816 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:39,823 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:39,831 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,833 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:39,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,850 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:39,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,872 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:39,899 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:21:39,903 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,933 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,954 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,973 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,990 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,005 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:21:40,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,091 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:21:40,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:21:40,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:21:40,232 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,250 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,267 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,284 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,323 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:40,323 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:21:40,333 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:40,333 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_30|]. (let ((.cse1 (store |v_#valid_30| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_138| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-23 14:21:40,334 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:40,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:40,446 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:21:40,451 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:40,487 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:40,487 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:21:42,497 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:42,497 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_139| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:42,498 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:42,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,583 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,584 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,585 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:42,586 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2018-12-23 14:21:42,600 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:42,639 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:42,640 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2018-12-23 14:21:42,706 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:42,706 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_140| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_140| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_140| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:42,707 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:42,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:42,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 90 [2018-12-23 14:21:42,799 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:42,838 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:42,838 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-23 14:21:42,852 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:42,852 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_141| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_141| ULTIMATE.start_main_p2) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_141| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:21:42,853 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:21:42,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:21:42,888 INFO L273 TraceCheckUtils]: 1: Hoare triple {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:21:42,890 INFO L273 TraceCheckUtils]: 2: Hoare triple {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:21:42,892 INFO L273 TraceCheckUtils]: 3: Hoare triple {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:21:42,892 INFO L273 TraceCheckUtils]: 4: Hoare triple {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-23 14:21:42,893 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:42,893 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:42,944 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2018-12-23 14:21:42,945 INFO L273 TraceCheckUtils]: 3: Hoare triple {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:42,946 INFO L273 TraceCheckUtils]: 2: Hoare triple {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:42,948 INFO L273 TraceCheckUtils]: 1: Hoare triple {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:42,950 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:42,950 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:42,970 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:42,970 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:21:42,970 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:42,971 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:42,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:42,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:42,987 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:42,987 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:42,988 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:42,988 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:42,988 INFO L87 Difference]: Start difference. First operand 107 states and 619 transitions. Second operand 10 states. [2018-12-23 14:21:45,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:45,842 INFO L93 Difference]: Finished difference Result 163 states and 816 transitions. [2018-12-23 14:21:45,861 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:21:45,861 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:45,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:45,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:45,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:21:45,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:45,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:21:45,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-23 14:21:45,997 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:46,001 INFO L225 Difference]: With dead ends: 163 [2018-12-23 14:21:46,001 INFO L226 Difference]: Without dead ends: 162 [2018-12-23 14:21:46,001 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:21:46,002 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2018-12-23 14:21:46,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 116. [2018-12-23 14:21:46,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:46,766 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 116 states. [2018-12-23 14:21:46,766 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 116 states. [2018-12-23 14:21:46,766 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 116 states. [2018-12-23 14:21:46,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:46,771 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-23 14:21:46,771 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-23 14:21:46,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:46,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:46,772 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 162 states. [2018-12-23 14:21:46,772 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 162 states. [2018-12-23 14:21:46,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:46,777 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2018-12-23 14:21:46,777 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2018-12-23 14:21:46,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:46,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:46,778 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:46,778 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:46,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2018-12-23 14:21:46,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 682 transitions. [2018-12-23 14:21:46,782 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 682 transitions. Word has length 5 [2018-12-23 14:21:46,782 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:46,782 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 682 transitions. [2018-12-23 14:21:46,782 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:46,782 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 682 transitions. [2018-12-23 14:21:46,782 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:46,783 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:46,783 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:46,783 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:46,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:46,783 INFO L82 PathProgramCache]: Analyzing trace with hash 29179614, now seen corresponding path program 1 times [2018-12-23 14:21:46,783 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:46,784 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:46,784 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:46,784 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:46,784 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:46,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:47,066 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:47,068 INFO L273 TraceCheckUtils]: 1: Hoare triple {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:47,069 INFO L273 TraceCheckUtils]: 2: Hoare triple {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:47,070 INFO L273 TraceCheckUtils]: 3: Hoare triple {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:47,070 INFO L273 TraceCheckUtils]: 4: Hoare triple {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-23 14:21:47,071 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:47,071 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:47,071 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:47,071 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:47,071 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [27] [2018-12-23 14:21:47,075 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:47,075 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:47,118 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:47,118 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:47,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:47,118 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:47,118 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:47,119 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:47,126 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:47,127 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:47,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:47,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:47,136 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:47,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:21:47,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,252 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:21:47,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:21:47,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:21:47,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:21:47,518 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,546 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,575 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,603 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,632 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,671 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:47,681 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:47,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:47,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:47,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:47,762 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:21:47,768 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,804 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,826 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,844 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,858 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,872 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,923 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:47,923 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2018-12-23 14:21:47,935 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:47,936 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_31|]. (let ((.cse2 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_145| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= 0 (select .cse3 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2018-12-23 14:21:47,936 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:48,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:48,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2018-12-23 14:21:48,067 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:48,116 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:48,117 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-23 14:21:50,567 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:50,567 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_146| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_146| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_146| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:21:50,567 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:50,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,708 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2018-12-23 14:21:50,713 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:50,764 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:50,764 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2018-12-23 14:21:50,791 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:50,791 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_147|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_147| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_147| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_147| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= .cse0 0) (= (store |v_#memory_int_147| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:50,791 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:50,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,886 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:50,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:50,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 122 [2018-12-23 14:21:50,894 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:50,950 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:50,951 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-23 14:21:51,831 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:51,831 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_148|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_148| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_148| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_148| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_148| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |v_#memory_int_148| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:21:51,831 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-23 14:21:51,874 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:51,877 INFO L273 TraceCheckUtils]: 1: Hoare triple {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:51,879 INFO L273 TraceCheckUtils]: 2: Hoare triple {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:21:51,882 INFO L273 TraceCheckUtils]: 3: Hoare triple {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:21:51,883 INFO L273 TraceCheckUtils]: 4: Hoare triple {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-23 14:21:51,884 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:51,884 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:52,050 INFO L273 TraceCheckUtils]: 4: Hoare triple {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2018-12-23 14:21:52,051 INFO L273 TraceCheckUtils]: 3: Hoare triple {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:52,053 INFO L273 TraceCheckUtils]: 2: Hoare triple {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:52,055 INFO L273 TraceCheckUtils]: 1: Hoare triple {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:52,057 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:52,058 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:52,077 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:52,077 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:21:52,077 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:52,078 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:52,078 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:52,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:52,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:52,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:52,094 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:52,094 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:21:52,094 INFO L87 Difference]: Start difference. First operand 116 states and 682 transitions. Second operand 10 states. [2018-12-23 14:21:54,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:54,921 INFO L93 Difference]: Finished difference Result 163 states and 796 transitions. [2018-12-23 14:21:54,921 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:21:54,921 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:54,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:54,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:54,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-23 14:21:54,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:54,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2018-12-23 14:21:54,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2018-12-23 14:21:55,054 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:55,058 INFO L225 Difference]: With dead ends: 163 [2018-12-23 14:21:55,058 INFO L226 Difference]: Without dead ends: 160 [2018-12-23 14:21:55,058 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:21:55,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-12-23 14:21:56,049 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 122. [2018-12-23 14:21:56,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:56,049 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 122 states. [2018-12-23 14:21:56,049 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 122 states. [2018-12-23 14:21:56,050 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 122 states. [2018-12-23 14:21:56,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:56,055 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-23 14:21:56,055 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-23 14:21:56,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:56,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:56,055 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 160 states. [2018-12-23 14:21:56,055 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 160 states. [2018-12-23 14:21:56,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:56,060 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2018-12-23 14:21:56,060 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2018-12-23 14:21:56,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:56,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:56,061 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:56,061 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:56,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2018-12-23 14:21:56,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 724 transitions. [2018-12-23 14:21:56,066 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 724 transitions. Word has length 5 [2018-12-23 14:21:56,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:56,066 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 724 transitions. [2018-12-23 14:21:56,066 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:56,066 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 724 transitions. [2018-12-23 14:21:56,066 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:56,067 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:56,067 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:56,067 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:56,067 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:56,067 INFO L82 PathProgramCache]: Analyzing trace with hash 29179180, now seen corresponding path program 1 times [2018-12-23 14:21:56,067 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:56,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:56,068 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:56,068 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:56,068 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:56,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:56,300 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:56,301 INFO L273 TraceCheckUtils]: 1: Hoare triple {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:56,302 INFO L273 TraceCheckUtils]: 2: Hoare triple {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:56,303 INFO L273 TraceCheckUtils]: 3: Hoare triple {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:56,304 INFO L273 TraceCheckUtils]: 4: Hoare triple {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-23 14:21:56,304 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:56,305 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:56,305 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:56,305 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:56,305 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [27] [2018-12-23 14:21:56,306 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:56,306 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:56,315 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:56,315 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:56,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:56,316 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:56,316 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:56,316 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:56,324 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:56,324 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:56,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:56,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:56,334 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:56,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:21:56,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,426 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:21:56,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,485 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:21:56,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,559 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:21:56,564 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,581 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,598 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,616 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,643 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:21:56,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:21:56,664 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:21:56,679 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:21:56,699 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:21:56,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:21:56,727 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,756 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,777 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,794 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,808 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,821 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:56,855 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:56,855 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2018-12-23 14:21:56,867 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:56,868 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_32|]. (let ((.cse1 (store |v_#valid_32| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_152| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2018-12-23 14:21:56,868 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:21:56,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:56,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:21:56,985 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,016 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:57,016 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-23 14:21:57,772 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:57,772 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_153| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_153| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_153| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_153| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:57,772 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:57,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-23 14:21:57,883 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,917 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:57,918 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-23 14:21:57,949 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:57,949 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_154| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_154| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_154| ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_154| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_154| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_154| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:57,949 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-23 14:21:58,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,137 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:58,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2018-12-23 14:21:58,143 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:58,180 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:58,180 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2018-12-23 14:21:58,195 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:58,196 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_155| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_155| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (= .cse0 0))) [2018-12-23 14:21:58,196 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-23 14:21:58,231 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:58,235 INFO L273 TraceCheckUtils]: 1: Hoare triple {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:58,237 INFO L273 TraceCheckUtils]: 2: Hoare triple {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:58,239 INFO L273 TraceCheckUtils]: 3: Hoare triple {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:21:58,240 INFO L273 TraceCheckUtils]: 4: Hoare triple {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-23 14:21:58,240 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:58,241 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:58,310 INFO L273 TraceCheckUtils]: 4: Hoare triple {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2018-12-23 14:21:58,311 INFO L273 TraceCheckUtils]: 3: Hoare triple {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:58,313 INFO L273 TraceCheckUtils]: 2: Hoare triple {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:58,315 INFO L273 TraceCheckUtils]: 1: Hoare triple {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:58,317 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:58,318 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:58,338 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:58,339 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:21:58,339 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:58,339 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:58,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:58,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:58,355 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:58,355 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:58,355 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:58,355 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:21:58,356 INFO L87 Difference]: Start difference. First operand 122 states and 724 transitions. Second operand 10 states. [2018-12-23 14:22:02,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:02,936 INFO L93 Difference]: Finished difference Result 165 states and 829 transitions. [2018-12-23 14:22:02,936 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:22:02,936 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:22:02,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:02,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:02,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:22:02,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:02,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2018-12-23 14:22:02,937 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2018-12-23 14:22:03,051 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:03,055 INFO L225 Difference]: With dead ends: 165 [2018-12-23 14:22:03,055 INFO L226 Difference]: Without dead ends: 163 [2018-12-23 14:22:03,055 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:22:03,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-23 14:22:04,537 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 125. [2018-12-23 14:22:04,537 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:04,537 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 125 states. [2018-12-23 14:22:04,537 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 125 states. [2018-12-23 14:22:04,538 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 125 states. [2018-12-23 14:22:04,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:04,543 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-23 14:22:04,543 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-23 14:22:04,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:04,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:04,543 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 163 states. [2018-12-23 14:22:04,544 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 163 states. [2018-12-23 14:22:04,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:04,548 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2018-12-23 14:22:04,548 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2018-12-23 14:22:04,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:04,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:04,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:04,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:04,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2018-12-23 14:22:04,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 745 transitions. [2018-12-23 14:22:04,552 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 745 transitions. Word has length 5 [2018-12-23 14:22:04,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:04,552 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 745 transitions. [2018-12-23 14:22:04,552 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:22:04,552 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 745 transitions. [2018-12-23 14:22:04,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:22:04,552 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:04,553 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:22:04,553 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:04,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:04,553 INFO L82 PathProgramCache]: Analyzing trace with hash 28829936, now seen corresponding path program 1 times [2018-12-23 14:22:04,553 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:04,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:04,554 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:04,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:04,554 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:04,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:04,839 WARN L181 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-12-23 14:22:04,960 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:04,961 INFO L273 TraceCheckUtils]: 1: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:04,962 INFO L273 TraceCheckUtils]: 2: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:04,963 INFO L273 TraceCheckUtils]: 3: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:04,963 INFO L273 TraceCheckUtils]: 4: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-23 14:22:04,964 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:04,964 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:04,964 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:04,964 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:22:04,965 INFO L207 CegarAbsIntRunner]: [0], [6], [22], [28], [29] [2018-12-23 14:22:04,966 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:04,966 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:04,974 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:04,974 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:22:04,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:04,975 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:04,975 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:04,975 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:05,008 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:05,008 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:05,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:05,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:05,020 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:05,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:22:05,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:22:05,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:22:05,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,085 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:22:05,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,106 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:22:05,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:22:05,134 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,163 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,186 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,205 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,220 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,233 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,265 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:22:05,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,313 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:22:05,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:22:05,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,441 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:22:05,448 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,464 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,480 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,497 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,537 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:05,537 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:22:05,549 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:05,549 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_33|]. (let ((.cse2 (store |v_#valid_33| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (store (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2018-12-23 14:22:05,549 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:22:05,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:22:05,649 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,687 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:05,687 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:22:05,703 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:05,703 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:22:05,703 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:05,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:05,774 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:05,775 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:22:05,778 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:05,816 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:05,816 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2018-12-23 14:22:05,837 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:05,837 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:22:05,837 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:05,887 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:05,889 INFO L273 TraceCheckUtils]: 1: Hoare triple {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:05,892 INFO L273 TraceCheckUtils]: 2: Hoare triple {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:22:05,893 INFO L273 TraceCheckUtils]: 3: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:22:05,894 INFO L273 TraceCheckUtils]: 4: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-23 14:22:05,894 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:05,894 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:05,930 INFO L273 TraceCheckUtils]: 4: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2018-12-23 14:22:05,930 INFO L273 TraceCheckUtils]: 3: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:05,931 INFO L273 TraceCheckUtils]: 2: Hoare triple {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:05,932 INFO L273 TraceCheckUtils]: 1: Hoare triple {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:05,935 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:05,935 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:05,955 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:05,955 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 3, 3] total 8 [2018-12-23 14:22:05,955 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:05,955 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-23 14:22:05,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:05,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-12-23 14:22:05,971 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:05,971 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-12-23 14:22:05,971 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-12-23 14:22:05,971 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:22:05,972 INFO L87 Difference]: Start difference. First operand 125 states and 745 transitions. Second operand 7 states. [2018-12-23 14:22:07,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:07,718 INFO L93 Difference]: Finished difference Result 158 states and 796 transitions. [2018-12-23 14:22:07,719 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:22:07,719 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2018-12-23 14:22:07,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:07,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-23 14:22:07,719 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-23 14:22:07,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-12-23 14:22:07,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2018-12-23 14:22:07,720 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2018-12-23 14:22:07,823 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:07,826 INFO L225 Difference]: With dead ends: 158 [2018-12-23 14:22:07,826 INFO L226 Difference]: Without dead ends: 156 [2018-12-23 14:22:07,827 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:22:07,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-12-23 14:22:09,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 128. [2018-12-23 14:22:09,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:09,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 128 states. [2018-12-23 14:22:09,367 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 128 states. [2018-12-23 14:22:09,367 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 128 states. [2018-12-23 14:22:09,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:09,372 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-23 14:22:09,372 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-23 14:22:09,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:09,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:09,373 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 156 states. [2018-12-23 14:22:09,373 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 156 states. [2018-12-23 14:22:09,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:09,377 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2018-12-23 14:22:09,377 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2018-12-23 14:22:09,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:09,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:09,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:09,378 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:09,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2018-12-23 14:22:09,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 760 transitions. [2018-12-23 14:22:09,381 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 760 transitions. Word has length 5 [2018-12-23 14:22:09,381 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:09,381 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 760 transitions. [2018-12-23 14:22:09,381 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-12-23 14:22:09,381 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 760 transitions. [2018-12-23 14:22:09,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:22:09,382 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:09,382 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:22:09,382 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:09,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:09,382 INFO L82 PathProgramCache]: Analyzing trace with hash 28831546, now seen corresponding path program 2 times [2018-12-23 14:22:09,383 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:09,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:09,383 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:09,383 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:09,384 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:09,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:09,556 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:22:09,557 INFO L273 TraceCheckUtils]: 1: Hoare triple {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:22:09,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:09,559 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:09,560 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-23 14:22:09,560 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:09,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:09,561 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:09,561 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:22:09,561 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:22:09,561 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:09,562 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:09,572 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:22:09,572 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:22:09,578 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:22:09,578 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:22:09,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:09,583 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:09,651 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2018-12-23 14:22:09,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2018-12-23 14:22:09,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,805 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2018-12-23 14:22:09,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:09,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2018-12-23 14:22:10,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2018-12-23 14:22:10,026 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,057 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,087 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,116 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,147 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:22:10,202 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:22:10,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:22:10,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:22:10,273 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:22:10,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2018-12-23 14:22:10,320 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,359 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,383 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,402 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,419 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,434 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,485 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:10,486 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2018-12-23 14:22:10,500 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:10,501 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_34|]. (let ((.cse2 (store |v_#valid_34| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|)))))) [2018-12-23 14:22:10,501 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:22:10,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,666 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2018-12-23 14:22:10,675 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,759 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:10,759 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2018-12-23 14:22:10,769 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:10,769 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:22:10,769 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:22:10,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:10,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2018-12-23 14:22:10,876 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:10,929 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:10,930 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:55 [2018-12-23 14:22:10,968 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:10,969 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_166| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (= (select |v_#memory_int_166| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2018-12-23 14:22:10,969 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:11,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,061 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:11,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2018-12-23 14:22:11,065 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,121 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:11,121 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2018-12-23 14:22:11,171 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:11,171 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p4))) (and (= 0 (+ (select |v_#memory_int_167| ULTIMATE.start_main_p6) 1)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_167| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_167| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_167| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:22:11,171 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:11,214 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:22:11,216 INFO L273 TraceCheckUtils]: 1: Hoare triple {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2018-12-23 14:22:11,219 INFO L273 TraceCheckUtils]: 2: Hoare triple {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:22:11,225 INFO L273 TraceCheckUtils]: 3: Hoare triple {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:22:11,226 INFO L273 TraceCheckUtils]: 4: Hoare triple {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-23 14:22:11,227 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:11,227 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:11,267 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2018-12-23 14:22:11,268 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:11,270 INFO L273 TraceCheckUtils]: 2: Hoare triple {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:11,271 INFO L273 TraceCheckUtils]: 1: Hoare triple {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:11,273 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:11,274 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:11,293 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:11,293 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2018-12-23 14:22:11,293 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:11,294 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:22:11,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:11,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:22:11,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:11,312 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:22:11,312 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:22:11,312 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:22:11,312 INFO L87 Difference]: Start difference. First operand 128 states and 760 transitions. Second operand 10 states. [2018-12-23 14:22:15,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:15,471 INFO L93 Difference]: Finished difference Result 241 states and 1191 transitions. [2018-12-23 14:22:15,471 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-23 14:22:15,471 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:22:15,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:15,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:15,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-23 14:22:15,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:15,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2018-12-23 14:22:15,472 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 127 transitions. [2018-12-23 14:22:15,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:15,686 INFO L225 Difference]: With dead ends: 241 [2018-12-23 14:22:15,686 INFO L226 Difference]: Without dead ends: 235 [2018-12-23 14:22:15,686 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=72, Invalid=138, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:22:15,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2018-12-23 14:22:17,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 164. [2018-12-23 14:22:17,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:17,454 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand 164 states. [2018-12-23 14:22:17,454 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 164 states. [2018-12-23 14:22:17,454 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 164 states. [2018-12-23 14:22:17,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:17,461 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-23 14:22:17,461 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-23 14:22:17,462 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:17,462 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:17,462 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 235 states. [2018-12-23 14:22:17,462 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 235 states. [2018-12-23 14:22:17,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:17,468 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2018-12-23 14:22:17,469 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2018-12-23 14:22:17,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:17,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:17,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:17,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:17,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-12-23 14:22:17,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 1007 transitions. [2018-12-23 14:22:17,474 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 1007 transitions. Word has length 5 [2018-12-23 14:22:17,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:17,474 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 1007 transitions. [2018-12-23 14:22:17,474 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:22:17,474 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 1007 transitions. [2018-12-23 14:22:17,475 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:22:17,475 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:17,475 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:22:17,475 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr3ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:17,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:17,475 INFO L82 PathProgramCache]: Analyzing trace with hash 28831858, now seen corresponding path program 1 times [2018-12-23 14:22:17,475 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:17,476 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:17,476 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:22:17,476 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:17,476 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:17,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:17,655 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:17,656 INFO L273 TraceCheckUtils]: 1: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:17,657 INFO L273 TraceCheckUtils]: 2: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:22:17,657 INFO L273 TraceCheckUtils]: 3: Hoare triple {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:17,658 INFO L273 TraceCheckUtils]: 4: Hoare triple {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2018-12-23 14:22:17,658 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:17,658 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:17,658 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:17,658 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:22:17,658 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [28], [29] [2018-12-23 14:22:17,661 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:17,661 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:17,671 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:17,671 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:22:17,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:17,672 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:17,672 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:17,672 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:17,681 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:17,681 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:17,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:17,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:17,688 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:17,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2018-12-23 14:22:17,759 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2018-12-23 14:22:17,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,773 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:22:17,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2018-12-23 14:22:17,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:17,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2018-12-23 14:22:17,850 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2018-12-23 14:22:17,858 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:17,893 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:17,919 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:17,959 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:17,977 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:17,991 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:18,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,026 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:22:18,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:22:18,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:22:18,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,236 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:22:18,238 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:18,255 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:18,291 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:18,305 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:18,346 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:18,346 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2018-12-23 14:22:18,359 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:18,359 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_35|]. (let ((.cse0 (store |v_#valid_35| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_171| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (select .cse1 ULTIMATE.start_main_p4) 0))))) [2018-12-23 14:22:18,359 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2018-12-23 14:22:18,621 WARN L181 SmtUtils]: Spent 248.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-12-23 14:22:18,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:18,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 81 [2018-12-23 14:22:18,976 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:22:19,092 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-23 14:22:19,092 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:106 [2018-12-23 14:22:21,270 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:21,271 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_172| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_172| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_172| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_172| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:22:21,271 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p6)) (.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select |#memory_int| v_prenex_5)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= v_prenex_5 v_prenex_4)) .cse0 (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (= 0 .cse1)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 .cse1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) [2018-12-23 14:22:21,597 WARN L181 SmtUtils]: Spent 301.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2018-12-23 14:22:21,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,668 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:21,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 72 [2018-12-23 14:22:21,672 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:21,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:21,796 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 14 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 65 treesize of output 107 [2018-12-23 14:22:21,805 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 16 xjuncts. [2018-12-23 14:22:22,156 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 2 dim-1 vars, End of recursive call: 25 dim-0 vars, and 6 xjuncts. [2018-12-23 14:22:22,157 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 11 variables, input treesize:126, output treesize:280 [2018-12-23 14:22:24,645 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:24,646 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_8, v_prenex_7, v_prenex_6, v_prenex_5, v_prenex_4, ULTIMATE.start_main_p1, |v_#memory_int_173|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (or (let ((.cse0 (select v_prenex_8 v_prenex_7))) (and (= 0 .cse0) (= (store v_prenex_8 v_prenex_7 (+ .cse0 (- 1))) |#memory_int|) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select v_prenex_8 v_prenex_4)) (not (= v_prenex_6 v_prenex_4)) (= 0 (select v_prenex_8 v_prenex_6)) (= 1 (select v_prenex_8 ULTIMATE.start_main_p1)) (not (= v_prenex_5 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)))) (let ((.cse1 (select |v_#memory_int_173| ULTIMATE.start_main_p6))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_173| ULTIMATE.start_main_p6 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (= 1 .cse1) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))))) [2018-12-23 14:22:24,646 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_23, v_prenex_24, v_prenex_22, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, v_prenex_16, v_prenex_17, v_prenex_18, v_prenex_19, ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, v_prenex_15, v_prenex_13, v_prenex_14, v_prenex_7, v_prenex_12, v_prenex_9, v_prenex_10, v_prenex_11]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse0 (= 0 .cse1))) (or (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) (and (= (select |#memory_int| v_prenex_20) 1) (not (= v_prenex_21 v_prenex_23)) (= (select |#memory_int| v_prenex_21) 0) (not (= v_prenex_24 v_prenex_23)) (= (select |#memory_int| v_prenex_23) 0) (= (select |#memory_int| v_prenex_22) (- 1)) .cse0 (not (= v_prenex_21 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_23)) (not (= ULTIMATE.start_main_p2 v_prenex_24)) (not (= v_prenex_21 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0)) (and (= (select |#memory_int| v_prenex_16) 1) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (= 0 (+ .cse1 1)) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_17 v_prenex_19)) (= (select |#memory_int| v_prenex_19) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) .cse0 (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (= (+ (select |#memory_int| v_prenex_5) 1) 0)) (and (= (select |#memory_int| v_prenex_15) 1) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (= (select |#memory_int| v_prenex_7) (- 1)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0)) (and (= (select |#memory_int| v_prenex_12) 1) (= (select |#memory_int| v_prenex_9) 0) (= (+ (select |#memory_int| v_prenex_10) 1) 0) .cse0 (not (= v_prenex_9 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_11)) (not (= v_prenex_9 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0))))) [2018-12-23 14:22:26,870 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-12-23 14:22:27,071 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 29 z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:27,073 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.getRedundancy(SimplifyDDA.java:626) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getRedundancy(SimplifyDDAWithTimeout.java:122) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA$Simplifier.walk(SimplifyDDA.java:371) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.simplification.SimplifyDDA.simplifyOnce(SimplifyDDA.java:650) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SimplifyDDAWithTimeout.getSimplifiedTerm(SimplifyDDAWithTimeout.java:187) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.SmtUtils.simplify(SmtUtils.java:152) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:360) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate(PredicateUnifier.java:305) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp$UnifyPostprocessor.postprocess(TraceCheckSpWp.java:575) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseTaipanRefinementStrategy.getTraceCheck(BaseTaipanRefinementStrategy.java:215) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 45 more [2018-12-23 14:22:27,079 INFO L168 Benchmark]: Toolchain (without parser) took 194875.83 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 993.5 MB). Free memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: -756.7 MB). Peak memory consumption was 236.9 MB. Max. memory is 7.1 GB. [2018-12-23 14:22:27,080 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:22:27,080 INFO L168 Benchmark]: Boogie Procedure Inliner took 80.56 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:22:27,080 INFO L168 Benchmark]: Boogie Preprocessor took 36.80 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:22:27,081 INFO L168 Benchmark]: RCFGBuilder took 815.48 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-12-23 14:22:27,081 INFO L168 Benchmark]: TraceAbstraction took 193935.82 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 993.5 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -788.4 MB). Peak memory consumption was 205.1 MB. Max. memory is 7.1 GB. [2018-12-23 14:22:27,084 INFO L336 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.23 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 80.56 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 36.80 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 815.48 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 193935.82 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 993.5 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -788.4 MB). Peak memory consumption was 205.1 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...