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-5-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-fb97592 [2018-12-19 21:29:48,246 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-19 21:29:48,248 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-19 21:29:48,266 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-19 21:29:48,266 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-19 21:29:48,267 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-19 21:29:48,270 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-19 21:29:48,272 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-19 21:29:48,276 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-19 21:29:48,277 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-19 21:29:48,282 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-19 21:29:48,282 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-19 21:29:48,284 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-19 21:29:48,285 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-19 21:29:48,293 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-19 21:29:48,294 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-19 21:29:48,297 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-19 21:29:48,300 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-19 21:29:48,304 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-19 21:29:48,308 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-19 21:29:48,309 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-19 21:29:48,311 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-19 21:29:48,316 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-19 21:29:48,316 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-19 21:29:48,316 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-19 21:29:48,318 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-19 21:29:48,319 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-19 21:29:48,321 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-19 21:29:48,322 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-19 21:29:48,324 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-19 21:29:48,326 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-19 21:29:48,327 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-19 21:29:48,327 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-19 21:29:48,328 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-19 21:29:48,329 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-19 21:29:48,329 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-19 21:29:48,331 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-19 21:29:48,354 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-19 21:29:48,355 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-19 21:29:48,356 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-19 21:29:48,356 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-19 21:29:48,356 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-19 21:29:48,356 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-19 21:29:48,356 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-19 21:29:48,357 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-19 21:29:48,357 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-19 21:29:48,357 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-19 21:29:48,357 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-19 21:29:48,358 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-19 21:29:48,358 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-19 21:29:48,359 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-19 21:29:48,359 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-19 21:29:48,360 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-19 21:29:48,360 INFO L133 SettingsManager]: * Use SBE=true [2018-12-19 21:29:48,360 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-19 21:29:48,360 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-19 21:29:48,361 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-19 21:29:48,362 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-19 21:29:48,362 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-19 21:29:48,363 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-19 21:29:48,363 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-19 21:29:48,363 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-19 21:29:48,363 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-19 21:29:48,364 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-19 21:29:48,364 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-19 21:29:48,364 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-19 21:29:48,364 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-19 21:29:48,364 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-19 21:29:48,365 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 21:29:48,365 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-19 21:29:48,365 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-19 21:29:48,365 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-19 21:29:48,366 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-19 21:29:48,366 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-19 21:29:48,367 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-19 21:29:48,367 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-19 21:29:48,367 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-19 21:29:48,418 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-19 21:29:48,440 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-19 21:29:48,447 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-19 21:29:48,449 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-19 21:29:48,449 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-19 21:29:48,450 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-unlimited.bpl [2018-12-19 21:29:48,450 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-unlimited.bpl' [2018-12-19 21:29:48,524 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-19 21:29:48,526 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-19 21:29:48,527 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-19 21:29:48,527 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-19 21:29:48,527 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-19 21:29:48,548 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,566 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,605 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-19 21:29:48,606 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-19 21:29:48,606 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-19 21:29:48,607 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-19 21:29:48,621 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,621 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,623 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,624 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,630 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,638 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,639 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/1) ... [2018-12-19 21:29:48,646 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-19 21:29:48,646 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-19 21:29:48,646 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-19 21:29:48,651 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-19 21:29:48,655 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (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-19 21:29:48,726 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-19 21:29:48,727 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-19 21:29:49,361 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-19 21:29:49,362 INFO L280 CfgBuilder]: Removed 13 assue(true) statements. [2018-12-19 21:29:49,362 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:29:49 BoogieIcfgContainer [2018-12-19 21:29:49,363 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-19 21:29:49,364 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-19 21:29:49,364 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-19 21:29:49,367 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-19 21:29:49,368 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 09:29:48" (1/2) ... [2018-12-19 21:29:49,369 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bf35a98 and model type speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.12 09:29:49, skipping insertion in model container [2018-12-19 21:29:49,369 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 09:29:49" (2/2) ... [2018-12-19 21:29:49,371 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-unlimited.bpl [2018-12-19 21:29:49,381 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-19 21:29:49,390 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2018-12-19 21:29:49,409 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2018-12-19 21:29:49,445 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-19 21:29:49,445 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-19 21:29:49,446 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-19 21:29:49,446 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-19 21:29:49,446 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-19 21:29:49,446 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-19 21:29:49,446 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-19 21:29:49,446 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-19 21:29:49,463 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2018-12-19 21:29:49,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-19 21:29:49,470 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:49,471 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-19 21:29:49,474 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:49,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:49,483 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2018-12-19 21:29:49,487 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:49,548 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:49,549 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:49,549 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:49,549 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:49,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:49,746 INFO L273 TraceCheckUtils]: 0: Hoare triple {16#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:29:49,763 INFO L273 TraceCheckUtils]: 1: Hoare triple {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {17#false} is VALID [2018-12-19 21:29:49,766 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-19 21:29:49,767 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:29:49,768 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:29:49,768 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:29:49,773 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:29:49,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:29:49,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:29:49,816 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-19 21:29:49,816 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:29:49,825 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:29:49,826 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:29:49,828 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2018-12-19 21:29:50,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:50,276 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2018-12-19 21:29:50,276 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:29:50,276 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-19 21:29:50,276 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:29:50,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:29:50,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-19 21:29:50,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:29:50,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-19 21:29:50,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2018-12-19 21:29:50,383 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:29:50,396 INFO L225 Difference]: With dead ends: 25 [2018-12-19 21:29:50,396 INFO L226 Difference]: Without dead ends: 20 [2018-12-19 21:29:50,400 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-19 21:29:50,419 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-19 21:29:50,474 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2018-12-19 21:29:50,474 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:29:50,475 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2018-12-19 21:29:50,476 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2018-12-19 21:29:50,476 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2018-12-19 21:29:50,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:50,481 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-19 21:29:50,481 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-19 21:29:50,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:50,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:50,483 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2018-12-19 21:29:50,483 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2018-12-19 21:29:50,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:50,487 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-19 21:29:50,487 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-19 21:29:50,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:50,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:50,488 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:29:50,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:29:50,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-19 21:29:50,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2018-12-19 21:29:50,493 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2018-12-19 21:29:50,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:29:50,494 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2018-12-19 21:29:50,494 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:29:50,494 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2018-12-19 21:29:50,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:29:50,495 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:50,495 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:29:50,496 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:50,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:50,496 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2018-12-19 21:29:50,497 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:50,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:50,498 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:50,498 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:50,498 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:50,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:50,832 WARN L181 SmtUtils]: Spent 147.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 13 [2018-12-19 21:29:50,878 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {104#(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-19 21:29:50,888 INFO L273 TraceCheckUtils]: 1: Hoare triple {104#(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]; {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:29:50,902 INFO L273 TraceCheckUtils]: 2: Hoare triple {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-19 21:29:50,902 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-19 21:29:50,903 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:50,903 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:29:50,904 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:29:50,906 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2018-12-19 21:29:50,941 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:29:50,941 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:29:51,033 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:29:51,035 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 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-19 21:29:51,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:51,041 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:29:51,041 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:51,041 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-19 21:29:51,052 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:51,053 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:29:51,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:51,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:51,090 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:29:51,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:51,470 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 31 treesize of output 40 [2018-12-19 21:29:51,737 WARN L181 SmtUtils]: Spent 121.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 20 [2018-12-19 21:29:51,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:51,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:51,801 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 27 treesize of output 42 [2018-12-19 21:29:52,288 WARN L181 SmtUtils]: Spent 299.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 20 [2018-12-19 21:29:52,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:52,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:52,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:52,347 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:52,350 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:29:52,353 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,386 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,400 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,428 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:29:52,446 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-19 21:29:52,481 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:29:52,520 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 25 treesize of output 51 [2018-12-19 21:29:52,573 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:29:52,580 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,609 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,625 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,639 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,652 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:52,695 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-19 21:29:52,696 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-19 21:29:52,705 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:52,706 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_7|]. (let ((.cse0 (store |v_#valid_7| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store |v_#memory_int_27| 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))))) [2018-12-19 21:29:52,706 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)) (= 0 (select |#memory_int| 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)) (= 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-19 21:29:53,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:53,071 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:29:53,076 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:53,122 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-19 21:29:53,123 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-19 21:29:53,133 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:53,134 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_28| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| 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 |v_#memory_int_28| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= .cse0 0))) [2018-12-19 21:29:53,134 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_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-19 21:29:53,294 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {109#(and (= (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_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-19 21:29:53,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (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_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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(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))) (= (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-19 21:29:53,296 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(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))) (= (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); {103#false} is VALID [2018-12-19 21:29:53,297 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-19 21:29:53,297 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:29:53,341 INFO L273 TraceCheckUtils]: 2: Hoare triple {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-19 21:29:53,344 INFO L273 TraceCheckUtils]: 1: Hoare triple {121#(<= 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]; {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:53,346 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {121#(<= 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-19 21:29:53,346 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-19 21:29:53,368 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:29:53,368 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:29:53,368 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:29:53,369 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:29:53,369 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:29:53,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:29:53,381 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-19 21:29:53,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:29:53,382 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:29:53,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:29:53,382 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2018-12-19 21:29:53,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:53,928 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2018-12-19 21:29:53,928 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:29:53,929 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:29:53,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:29:53,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:29:53,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:29:53,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:29:53,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-19 21:29:53,935 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-19 21:29:54,049 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-19 21:29:54,054 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:29:54,054 INFO L226 Difference]: Without dead ends: 37 [2018-12-19 21:29:54,055 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:29:54,055 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-12-19 21:29:54,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2018-12-19 21:29:54,086 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:29:54,086 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2018-12-19 21:29:54,086 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2018-12-19 21:29:54,086 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2018-12-19 21:29:54,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:54,091 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-19 21:29:54,091 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-19 21:29:54,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:54,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:54,092 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2018-12-19 21:29:54,092 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2018-12-19 21:29:54,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:29:54,096 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-19 21:29:54,096 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-19 21:29:54,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:29:54,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:29:54,098 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:29:54,098 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:29:54,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-12-19 21:29:54,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2018-12-19 21:29:54,100 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2018-12-19 21:29:54,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:29:54,100 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2018-12-19 21:29:54,101 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:29:54,101 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2018-12-19 21:29:54,101 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:29:54,101 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:29:54,101 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:29:54,102 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:29:54,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:54,102 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2018-12-19 21:29:54,103 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:29:54,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:54,104 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:54,104 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:29:54,104 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:29:54,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:54,231 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {264#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} is VALID [2018-12-19 21:29:54,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:54,237 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:29:54,237 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-19 21:29:54,238 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:54,238 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:29:54,238 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:29:54,238 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2018-12-19 21:29:54,240 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:29:54,240 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:29:54,255 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:29:54,256 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 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-19 21:29:54,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:29:54,257 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:29:54,257 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:29:54,257 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-19 21:29:54,267 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:29:54,268 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:29:54,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:54,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:29:54,293 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:29:54,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,373 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 31 treesize of output 40 [2018-12-19 21:29:54,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,427 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 27 treesize of output 42 [2018-12-19 21:29:54,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:54,504 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:29:54,513 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,529 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,603 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:29:54,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, 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 27 [2018-12-19 21:29:54,662 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:29:54,701 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 25 treesize of output 51 [2018-12-19 21:29:54,729 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:29:54,733 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,757 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,781 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,802 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,815 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:29:54,861 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-19 21:29:54,862 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-19 21:29:54,878 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:54,879 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (store (store (store (store (store |v_#memory_int_30| 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) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0)))) [2018-12-19 21:29:54,879 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:29:55,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:29:55,157 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:29:55,173 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-19 21:29:55,510 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 16 dim-0 vars, and 5 xjuncts. [2018-12-19 21:29:55,511 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:199 [2018-12-19 21:29:57,726 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:29:57,726 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_31| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_31| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2018-12-19 21:29:57,727 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_10, v_prenex_11, v_prenex_9, v_prenex_12, v_prenex_3, v_prenex_1, v_prenex_2, ULTIMATE.start_main_p5, v_prenex_8, v_prenex_7, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_6, v_prenex_4, v_prenex_5]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse1 (= .cse0 0))) (or (and (not (= v_prenex_3 v_prenex_1)) (= .cse0 1) (not (= v_prenex_3 v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p1 v_prenex_1)) (= (select |#memory_int| v_prenex_1) 0)) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= v_prenex_8 v_prenex_7)) .cse1 (not (= v_prenex_7 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| v_prenex_7)) (not (= v_prenex_8 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_8) 0)) (and (not (= v_prenex_10 v_prenex_11)) (not (= v_prenex_10 v_prenex_9)) .cse1 (not (= v_prenex_9 ULTIMATE.start_main_p1)) (not (= v_prenex_9 v_prenex_11)) (= 1 (select |#memory_int| v_prenex_12)) (= 0 (select |#memory_int| v_prenex_9)) (not (= v_prenex_10 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_10) 0) (not (= ULTIMATE.start_main_p1 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0)) (and .cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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))) (and (not (= v_prenex_6 v_prenex_4)) (= 1 (select |#memory_int| v_prenex_5)) .cse1 (not (= v_prenex_6 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4)))))) [2018-12-19 21:29:59,952 WARN L181 SmtUtils]: Spent 2.11 s on a formula simplification. DAG size of input: 121 DAG size of output: 49 [2018-12-19 21:29:59,966 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {269#(and (= 0 (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-19 21:29:59,971 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (= 0 (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)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_5 Int)) (= 1 (select |#memory_int| v_prenex_5))) (exists ((v_prenex_6 Int) (v_prenex_4 Int)) (and (not (= v_prenex_6 ULTIMATE.start_main_p1)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= ULTIMATE.start_main_p1 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (not (= v_prenex_2 v_prenex_1))))))} is VALID [2018-12-19 21:29:59,972 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_5 Int)) (= 1 (select |#memory_int| v_prenex_5))) (exists ((v_prenex_6 Int) (v_prenex_4 Int)) (and (not (= v_prenex_6 ULTIMATE.start_main_p1)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= ULTIMATE.start_main_p1 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (not (= v_prenex_2 v_prenex_1))))))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:29:59,973 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-19 21:29:59,973 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:29:59,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-19 21:29:59,992 INFO L273 TraceCheckUtils]: 1: Hoare triple {280#(<= 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]; {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:29:59,996 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {280#(<= 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-19 21:29:59,996 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-19 21:30:00,016 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:30:00,016 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:30:00,017 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:00,017 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:30:00,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:00,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:30:00,024 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-19 21:30:00,024 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:30:00,024 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:30:00,024 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:30:00,025 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2018-12-19 21:30:00,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,154 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2018-12-19 21:30:00,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:30:00,154 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-19 21:30:00,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:00,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:00,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-19 21:30:00,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:00,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-19 21:30:00,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2018-12-19 21:30:00,219 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:00,220 INFO L225 Difference]: With dead ends: 18 [2018-12-19 21:30:00,220 INFO L226 Difference]: Without dead ends: 17 [2018-12-19 21:30:00,221 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:30:00,221 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2018-12-19 21:30:00,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2018-12-19 21:30:00,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:00,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2018-12-19 21:30:00,247 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-19 21:30:00,248 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-19 21:30:00,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,251 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-19 21:30:00,251 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:30:00,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:00,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:00,252 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-19 21:30:00,252 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-19 21:30:00,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,254 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-19 21:30:00,254 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:30:00,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:00,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:00,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:00,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:00,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-19 21:30:00,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2018-12-19 21:30:00,257 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2018-12-19 21:30:00,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:00,257 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2018-12-19 21:30:00,257 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:30:00,257 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-19 21:30:00,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:00,258 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:00,258 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:00,259 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:00,259 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:00,259 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2018-12-19 21:30:00,259 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:00,260 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:00,260 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:00,261 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:00,261 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:00,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:00,319 INFO L273 TraceCheckUtils]: 0: Hoare triple {360#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:00,320 INFO L273 TraceCheckUtils]: 1: Hoare triple {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:00,321 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {361#false} is VALID [2018-12-19 21:30:00,321 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-19 21:30:00,322 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:30:00,322 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-19 21:30:00,322 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:00,323 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 21:30:00,323 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:00,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 21:30:00,332 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-19 21:30:00,332 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 21:30:00,333 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 21:30:00,333 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 21:30:00,333 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2018-12-19 21:30:00,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,506 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2018-12-19 21:30:00,506 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:30:00,507 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 21:30:00,507 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:00,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:30:00,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-19 21:30:00,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 21:30:00,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-19 21:30:00,509 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2018-12-19 21:30:00,551 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:00,553 INFO L225 Difference]: With dead ends: 21 [2018-12-19 21:30:00,553 INFO L226 Difference]: Without dead ends: 20 [2018-12-19 21:30:00,554 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-19 21:30:00,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-19 21:30:00,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2018-12-19 21:30:00,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:00,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2018-12-19 21:30:00,578 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2018-12-19 21:30:00,578 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2018-12-19 21:30:00,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,582 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-19 21:30:00,582 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-19 21:30:00,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:00,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:00,583 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2018-12-19 21:30:00,583 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2018-12-19 21:30:00,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:00,585 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-19 21:30:00,585 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-19 21:30:00,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:00,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:00,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:00,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:00,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-19 21:30:00,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2018-12-19 21:30:00,588 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2018-12-19 21:30:00,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:00,588 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2018-12-19 21:30:00,588 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 21:30:00,589 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2018-12-19 21:30:00,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 21:30:00,589 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:00,589 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 21:30:00,590 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:00,590 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:00,590 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2018-12-19 21:30:00,590 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:00,591 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:00,591 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:00,591 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:00,592 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:00,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:00,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {453#(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-19 21:30:00,712 INFO L273 TraceCheckUtils]: 1: Hoare triple {453#(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]; {454#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:00,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {454#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2018-12-19 21:30:00,713 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-19 21:30:00,714 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:00,714 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:00,714 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-19 21:30:00,714 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2018-12-19 21:30:00,717 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:00,717 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:00,731 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:00,731 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 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-19 21:30:00,731 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:00,732 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:00,732 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:00,732 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-19 21:30:00,740 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:00,741 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:00,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:00,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:00,753 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:00,822 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 18 treesize of output 21 [2018-12-19 21:30:00,830 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 21 treesize of output 27 [2018-12-19 21:30:00,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:00,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:00,854 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 23 treesize of output 37 [2018-12-19 21:30:00,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:00,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:00,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:00,886 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 25 treesize of output 51 [2018-12-19 21:30:00,912 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:00,916 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:00,944 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:00,978 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:00,993 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,008 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,041 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 31 treesize of output 40 [2018-12-19 21:30:01,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,121 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 27 treesize of output 42 [2018-12-19 21:30:01,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:01,272 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,302 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,324 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,386 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-19 21:30:01,387 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:01,396 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:01,396 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_33| 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) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0)))) [2018-12-19 21:30:01,396 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)) (= 0 (select |#memory_int| 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)) (= 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-19 21:30:01,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:01,560 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:30:01,565 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:01,611 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-19 21:30:01,612 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-19 21:30:01,620 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:01,620 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0))) [2018-12-19 21:30:01,620 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (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) (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-19 21:30:01,648 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {458#(and (= (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-19 21:30:01,651 INFO L273 TraceCheckUtils]: 1: Hoare triple {458#(and (= (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]; {462#(and (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-19 21:30:01,652 INFO L273 TraceCheckUtils]: 2: Hoare triple {462#(and (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); {452#false} is VALID [2018-12-19 21:30:01,653 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-19 21:30:01,653 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:01,681 INFO L273 TraceCheckUtils]: 2: Hoare triple {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2018-12-19 21:30:01,682 INFO L273 TraceCheckUtils]: 1: Hoare triple {470#(<= 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]; {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:01,684 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {470#(<= 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-19 21:30:01,685 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-19 21:30:01,706 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:01,706 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:01,706 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:01,706 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:01,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:01,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:01,737 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-19 21:30:01,738 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:01,738 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:01,738 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:01,738 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2018-12-19 21:30:02,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:02,399 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2018-12-19 21:30:02,399 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:30:02,400 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-19 21:30:02,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:02,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:02,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-19 21:30:02,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:02,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-19 21:30:02,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2018-12-19 21:30:02,541 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:02,543 INFO L225 Difference]: With dead ends: 39 [2018-12-19 21:30:02,544 INFO L226 Difference]: Without dead ends: 38 [2018-12-19 21:30:02,544 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:30:02,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-12-19 21:30:02,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2018-12-19 21:30:02,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:02,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2018-12-19 21:30:02,708 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2018-12-19 21:30:02,708 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2018-12-19 21:30:02,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:02,710 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-19 21:30:02,710 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-19 21:30:02,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:02,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:02,711 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2018-12-19 21:30:02,712 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2018-12-19 21:30:02,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:02,714 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-19 21:30:02,714 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-19 21:30:02,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:02,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:02,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:02,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:02,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-19 21:30:02,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2018-12-19 21:30:02,717 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2018-12-19 21:30:02,717 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:02,717 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2018-12-19 21:30:02,717 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:02,718 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2018-12-19 21:30:02,718 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:02,718 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:02,718 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:02,718 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:02,719 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:02,719 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2018-12-19 21:30:02,719 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:02,720 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:02,720 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:02,720 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:02,720 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:02,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:02,870 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {621#(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-19 21:30:02,871 INFO L273 TraceCheckUtils]: 1: Hoare triple {621#(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]; {622#(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-19 21:30:02,890 INFO L273 TraceCheckUtils]: 2: Hoare triple {622#(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]; {623#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:02,905 INFO L273 TraceCheckUtils]: 3: Hoare triple {623#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-19 21:30:02,906 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-19 21:30:02,906 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:02,906 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:02,906 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:02,906 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2018-12-19 21:30:02,907 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:02,908 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:02,925 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:02,925 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:02,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:02,926 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:02,926 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:02,926 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-19 21:30:02,947 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:02,947 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:02,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:02,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:02,970 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:03,019 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 18 treesize of output 21 [2018-12-19 21:30:03,038 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 21 treesize of output 27 [2018-12-19 21:30:03,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,057 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 23 treesize of output 37 [2018-12-19 21:30:03,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,169 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 25 treesize of output 51 [2018-12-19 21:30:03,196 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:03,203 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,238 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,254 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,267 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,281 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,307 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 31 treesize of output 40 [2018-12-19 21:30:03,351 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,353 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 27 treesize of output 42 [2018-12-19 21:30:03,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:03,445 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,455 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,466 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:03,496 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-19 21:30:03,497 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:03,505 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:03,505 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_10|]. (let ((.cse1 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (store (store (store (store (store |v_#memory_int_36| 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) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse0 ULTIMATE.start_main_p3))))) [2018-12-19 21:30:03,506 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:03,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:03,612 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 54 [2018-12-19 21:30:03,616 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:30:03,695 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 2 xjuncts. [2018-12-19 21:30:03,695 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:74 [2018-12-19 21:30:04,034 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:04,034 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_37| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:04,034 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_14, v_prenex_13, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p5)) (.cse0 (= (select |#memory_int| ULTIMATE.start_main_p1) 0))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 (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 (+ .cse1 1))) (and (= 0 .cse1) (not (= v_prenex_14 v_prenex_13)) .cse0 (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_14) 0)))) [2018-12-19 21:30:04,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,301 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 6 case distinctions, treesize of input 50 treesize of output 80 [2018-12-19 21:30:04,306 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 8 xjuncts. [2018-12-19 21:30:04,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:04,559 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:04,561 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 51 [2018-12-19 21:30:04,564 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:04,677 INFO L267 ElimStorePlain]: Start of recursive call 1: 7 dim-0 vars, 2 dim-1 vars, End of recursive call: 16 dim-0 vars, and 5 xjuncts. [2018-12-19 21:30:04,677 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 9 variables, input treesize:96, output treesize:167 [2018-12-19 21:30:06,993 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:06,993 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_16, v_prenex_15, v_prenex_13, v_prenex_14, ULTIMATE.start_main_p4, |v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (or (let ((.cse0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p5) 1))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 .cse0)))) (let ((.cse1 (select v_prenex_16 v_prenex_15))) (and (= 0 (select v_prenex_16 v_prenex_13)) (= 0 .cse1) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= (select v_prenex_16 v_prenex_14) 0) (not (= v_prenex_14 v_prenex_13)) (= 0 (+ (select v_prenex_16 ULTIMATE.start_main_p4) 1)) (= 0 (select v_prenex_16 ULTIMATE.start_main_p1)) (not (= v_prenex_14 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_16 v_prenex_15 (+ .cse1 1)))))) [2018-12-19 21:30:06,994 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_15, v_prenex_19, v_prenex_17, v_prenex_18, v_prenex_20, v_prenex_21, v_prenex_22, v_prenex_24, v_prenex_25, v_prenex_23, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, v_prenex_13, ULTIMATE.start_main_p4, v_prenex_14]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 0))) (or (and .cse0 (= (+ (select |#memory_int| v_prenex_20) 1) 0) (= 0 (select |#memory_int| v_prenex_21)) (= (select |#memory_int| v_prenex_22) 1) (not (= v_prenex_21 ULTIMATE.start_main_p1))) (and (= .cse1 1) (= (select |#memory_int| v_prenex_24) 0) (= (+ (select |#memory_int| v_prenex_25) 1) 0) (not (= v_prenex_23 v_prenex_24)) (= 0 (select |#memory_int| v_prenex_23))) (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)) .cse0 (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)) (and (= 1 (select |#memory_int| v_prenex_15)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_19 ULTIMATE.start_main_p1)) .cse0 (= (+ (select |#memory_int| v_prenex_17) 1) 0) (not (= v_prenex_18 v_prenex_19)) (= 0 (select |#memory_int| v_prenex_18)) (not (= v_prenex_18 ULTIMATE.start_main_p1))) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) .cse0 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| v_prenex_14)))))) [2018-12-19 21:30:07,169 WARN L181 SmtUtils]: Spent 130.00 ms on a formula simplification. DAG size of input: 106 DAG size of output: 65 [2018-12-19 21:30:07,183 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {627#(and (= 0 (select |#memory_int| 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_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-19 21:30:07,185 INFO L273 TraceCheckUtils]: 1: Hoare triple {627#(and (= 0 (select |#memory_int| 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_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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {631#(or (and (= 0 (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)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_14) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1))))) (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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))))} is VALID [2018-12-19 21:30:07,191 INFO L273 TraceCheckUtils]: 2: Hoare triple {631#(or (and (= 0 (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)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_14) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1))))) (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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {635#(or (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_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)))) (and (exists ((v_prenex_14 Int)) (= 1 (select |#memory_int| v_prenex_14))) (exists ((v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_25 Int)) (= (+ (select |#memory_int| v_prenex_25) 1) 0)) (exists ((v_prenex_23 Int) (v_prenex_24 Int)) (and (not (= v_prenex_23 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0) (= 0 (select |#memory_int| v_prenex_23))))))} is VALID [2018-12-19 21:30:07,192 INFO L273 TraceCheckUtils]: 3: Hoare triple {635#(or (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_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)))) (and (exists ((v_prenex_14 Int)) (= 1 (select |#memory_int| v_prenex_14))) (exists ((v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_25 Int)) (= (+ (select |#memory_int| v_prenex_25) 1) 0)) (exists ((v_prenex_23 Int) (v_prenex_24 Int)) (and (not (= v_prenex_23 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0) (= 0 (select |#memory_int| v_prenex_23))))))} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-19 21:30:07,193 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-19 21:30:07,193 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:07,265 INFO L273 TraceCheckUtils]: 3: Hoare triple {639#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-19 21:30:07,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {643#(<= 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]; {639#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:07,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {647#(<= 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]; {643#(<= 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-19 21:30:07,270 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {647#(<= 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-19 21:30:07,271 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-19 21:30:07,289 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:07,289 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:07,289 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:07,290 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:07,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:07,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:07,306 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-19 21:30:07,306 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:07,306 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:07,306 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:07,307 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2018-12-19 21:30:07,865 WARN L181 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 73 DAG size of output: 53 [2018-12-19 21:30:08,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:08,594 INFO L93 Difference]: Finished difference Result 59 states and 105 transitions. [2018-12-19 21:30:08,594 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:30:08,594 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:08,594 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:08,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:08,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2018-12-19 21:30:08,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:08,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2018-12-19 21:30:08,597 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 81 transitions. [2018-12-19 21:30:08,772 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:08,775 INFO L225 Difference]: With dead ends: 59 [2018-12-19 21:30:08,775 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:30:08,775 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:30:08,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:30:08,921 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 20. [2018-12-19 21:30:08,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:08,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 20 states. [2018-12-19 21:30:08,922 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 20 states. [2018-12-19 21:30:08,922 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 20 states. [2018-12-19 21:30:08,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:08,924 INFO L93 Difference]: Finished difference Result 55 states and 99 transitions. [2018-12-19 21:30:08,924 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 99 transitions. [2018-12-19 21:30:08,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:08,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:08,926 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 55 states. [2018-12-19 21:30:08,926 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 55 states. [2018-12-19 21:30:08,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:08,931 INFO L93 Difference]: Finished difference Result 55 states and 99 transitions. [2018-12-19 21:30:08,931 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 99 transitions. [2018-12-19 21:30:08,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:08,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:08,935 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:08,935 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:08,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-12-19 21:30:08,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 59 transitions. [2018-12-19 21:30:08,936 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 59 transitions. Word has length 4 [2018-12-19 21:30:08,939 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:08,939 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 59 transitions. [2018-12-19 21:30:08,939 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:08,939 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 59 transitions. [2018-12-19 21:30:08,940 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:08,940 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:08,940 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:08,940 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:08,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:08,941 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2018-12-19 21:30:08,941 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:08,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:08,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:08,942 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:08,942 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:08,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:09,033 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {865#(and (= 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-19 21:30:09,034 INFO L273 TraceCheckUtils]: 1: Hoare triple {865#(and (= 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]; {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:09,034 INFO L273 TraceCheckUtils]: 2: Hoare triple {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:09,035 INFO L273 TraceCheckUtils]: 3: Hoare triple {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-19 21:30:09,035 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-19 21:30:09,035 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:09,035 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:09,035 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:09,036 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2018-12-19 21:30:09,037 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:09,037 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:09,068 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:09,068 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:09,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:09,069 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:09,069 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:09,069 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-19 21:30:09,078 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:09,078 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:09,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:09,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:09,091 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:09,104 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 18 treesize of output 21 [2018-12-19 21:30:09,117 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 21 treesize of output 23 [2018-12-19 21:30:09,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,132 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 23 treesize of output 33 [2018-12-19 21:30:09,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,156 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,157 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 25 treesize of output 47 [2018-12-19 21:30:09,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-19 21:30:09,196 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,214 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,230 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,243 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,256 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,276 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 26 treesize of output 25 [2018-12-19 21:30:09,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,412 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 22 treesize of output 38 [2018-12-19 21:30:09,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,483 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-19 21:30:09,485 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,494 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,508 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,532 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-19 21:30:09,533 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:44, output treesize:46 [2018-12-19 21:30:09,543 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:09,544 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_11|]. (let ((.cse0 (store (store |v_#valid_11| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (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) |#memory_int|))) [2018-12-19 21:30:09,544 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 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-19 21:30:09,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:09,622 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 41 [2018-12-19 21:30:09,630 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:09,649 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-19 21:30:09,649 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:51, output treesize:29 [2018-12-19 21:30:11,885 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:11,885 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (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_p2)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_42| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:11,886 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) 0) (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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:30:11,944 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {870#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p1 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)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-19 21:30:11,946 INFO L273 TraceCheckUtils]: 1: Hoare triple {870#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p1 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)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (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-19 21:30:11,946 INFO L273 TraceCheckUtils]: 2: Hoare triple {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (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-19 21:30:11,947 INFO L273 TraceCheckUtils]: 3: Hoare triple {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-19 21:30:11,948 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-19 21:30:11,948 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:11,974 INFO L273 TraceCheckUtils]: 3: Hoare triple {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-19 21:30:11,976 INFO L273 TraceCheckUtils]: 2: Hoare triple {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:11,977 INFO L273 TraceCheckUtils]: 1: Hoare triple {888#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:11,978 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {888#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:11,979 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-19 21:30:11,998 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:30:11,998 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-19 21:30:11,998 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:11,999 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:30:11,999 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:11,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:30:12,003 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-19 21:30:12,003 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:30:12,004 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:30:12,004 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:12,004 INFO L87 Difference]: Start difference. First operand 20 states and 59 transitions. Second operand 4 states. [2018-12-19 21:30:12,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,302 INFO L93 Difference]: Finished difference Result 25 states and 74 transitions. [2018-12-19 21:30:12,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:30:12,303 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:30:12,303 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:12,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:12,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-19 21:30:12,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:12,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-19 21:30:12,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2018-12-19 21:30:12,329 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:12,330 INFO L225 Difference]: With dead ends: 25 [2018-12-19 21:30:12,330 INFO L226 Difference]: Without dead ends: 24 [2018-12-19 21:30:12,331 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:12,331 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-12-19 21:30:12,419 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 23. [2018-12-19 21:30:12,419 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:12,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 23 states. [2018-12-19 21:30:12,420 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 23 states. [2018-12-19 21:30:12,420 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 23 states. [2018-12-19 21:30:12,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,422 INFO L93 Difference]: Finished difference Result 24 states and 73 transitions. [2018-12-19 21:30:12,422 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 73 transitions. [2018-12-19 21:30:12,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:12,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:12,423 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 24 states. [2018-12-19 21:30:12,423 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 24 states. [2018-12-19 21:30:12,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:12,424 INFO L93 Difference]: Finished difference Result 24 states and 73 transitions. [2018-12-19 21:30:12,424 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 73 transitions. [2018-12-19 21:30:12,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:12,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:12,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:12,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:12,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-12-19 21:30:12,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 73 transitions. [2018-12-19 21:30:12,427 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 73 transitions. Word has length 4 [2018-12-19 21:30:12,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:12,427 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 73 transitions. [2018-12-19 21:30:12,427 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:30:12,428 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 73 transitions. [2018-12-19 21:30:12,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:12,428 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:12,428 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:12,428 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:12,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:12,429 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2018-12-19 21:30:12,429 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:12,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:12,430 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:12,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:12,430 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:12,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,582 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1009#(and (= 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_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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-19 21:30:12,583 INFO L273 TraceCheckUtils]: 1: Hoare triple {1009#(and (= 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_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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]; {1010#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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-19 21:30:12,584 INFO L273 TraceCheckUtils]: 2: Hoare triple {1010#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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]; {1011#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:12,585 INFO L273 TraceCheckUtils]: 3: Hoare triple {1011#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-19 21:30:12,586 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-19 21:30:12,586 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:12,586 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:12,586 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:12,586 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2018-12-19 21:30:12,588 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:12,588 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:12,600 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:12,600 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:12,600 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:12,600 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:12,600 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:12,601 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-19 21:30:12,611 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:12,611 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:12,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:12,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:12,682 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 18 treesize of output 21 [2018-12-19 21:30:12,689 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 21 treesize of output 27 [2018-12-19 21:30:12,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,702 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 23 treesize of output 37 [2018-12-19 21:30:12,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,720 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 25 treesize of output 51 [2018-12-19 21:30:12,741 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:12,746 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,767 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,785 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,800 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,816 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,842 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 31 treesize of output 40 [2018-12-19 21:30:12,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,909 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 27 treesize of output 42 [2018-12-19 21:30:12,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,968 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:12,970 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:12,974 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,986 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:12,997 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:13,075 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-19 21:30:13,076 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:13,089 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:13,090 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_12|]. (let ((.cse1 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (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) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4))))) [2018-12-19 21:30:13,090 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:13,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,207 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:30:13,212 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:13,247 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-19 21:30:13,248 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-19 21:30:13,822 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:13,822 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= |#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) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:13,822 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (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)) (= (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-19 21:30:13,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:13,891 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:13,893 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-19 21:30:13,898 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:13,953 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-19 21:30:13,954 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:29 [2018-12-19 21:30:13,960 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:13,961 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_46| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (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)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2018-12-19 21:30:13,961 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-19 21:30:13,992 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1015#(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_p2)) (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) (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)))} is VALID [2018-12-19 21:30:13,995 INFO L273 TraceCheckUtils]: 1: Hoare triple {1015#(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_p2)) (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) (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1019#(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))) (= (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-19 21:30:13,997 INFO L273 TraceCheckUtils]: 2: Hoare triple {1019#(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))) (= (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]; {1023#(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)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:30:14,001 INFO L273 TraceCheckUtils]: 3: Hoare triple {1023#(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)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-19 21:30:14,002 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-19 21:30:14,002 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:14,054 INFO L273 TraceCheckUtils]: 3: Hoare triple {1027#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-19 21:30:14,055 INFO L273 TraceCheckUtils]: 2: Hoare triple {1031#(<= 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]; {1027#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:14,057 INFO L273 TraceCheckUtils]: 1: Hoare triple {1035#(<= 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]; {1031#(<= 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-19 21:30:14,059 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1035#(<= 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-19 21:30:14,060 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-19 21:30:14,080 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:14,080 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:14,080 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:14,081 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:14,081 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:14,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:14,095 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-19 21:30:14,096 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:14,096 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:14,096 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:14,097 INFO L87 Difference]: Start difference. First operand 23 states and 73 transitions. Second operand 8 states. [2018-12-19 21:30:15,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:15,212 INFO L93 Difference]: Finished difference Result 56 states and 117 transitions. [2018-12-19 21:30:15,212 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:30:15,212 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:15,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:15,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:15,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-12-19 21:30:15,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:15,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-12-19 21:30:15,215 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 73 transitions. [2018-12-19 21:30:15,324 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-19 21:30:15,325 INFO L225 Difference]: With dead ends: 56 [2018-12-19 21:30:15,326 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:30:15,326 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:15,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:30:15,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 24. [2018-12-19 21:30:15,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:15,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 24 states. [2018-12-19 21:30:15,451 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 24 states. [2018-12-19 21:30:15,452 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 24 states. [2018-12-19 21:30:15,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:15,456 INFO L93 Difference]: Finished difference Result 55 states and 115 transitions. [2018-12-19 21:30:15,456 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 115 transitions. [2018-12-19 21:30:15,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:15,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:15,457 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 55 states. [2018-12-19 21:30:15,457 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 55 states. [2018-12-19 21:30:15,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:15,460 INFO L93 Difference]: Finished difference Result 55 states and 115 transitions. [2018-12-19 21:30:15,460 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 115 transitions. [2018-12-19 21:30:15,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:15,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:15,461 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:15,461 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:15,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-12-19 21:30:15,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 79 transitions. [2018-12-19 21:30:15,462 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 79 transitions. Word has length 4 [2018-12-19 21:30:15,463 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:15,463 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 79 transitions. [2018-12-19 21:30:15,463 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:15,463 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 79 transitions. [2018-12-19 21:30:15,463 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:15,463 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:15,464 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:15,464 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:15,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:15,464 INFO L82 PathProgramCache]: Analyzing trace with hash 941276, now seen corresponding path program 1 times [2018-12-19 21:30:15,464 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:15,465 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:15,465 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:15,465 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:15,466 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:15,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:15,596 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1258#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:30:15,597 INFO L273 TraceCheckUtils]: 1: Hoare triple {1258#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1259#(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-19 21:30:15,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {1259#(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]; {1260#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:15,599 INFO L273 TraceCheckUtils]: 3: Hoare triple {1260#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1257#false} is VALID [2018-12-19 21:30:15,600 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-19 21:30:15,600 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:15,601 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:15,601 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:15,601 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [23] [2018-12-19 21:30:15,603 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:15,603 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:15,619 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:15,619 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:15,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:15,619 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:15,620 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:15,620 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-19 21:30:15,635 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:15,635 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:15,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:15,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:15,643 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:15,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,739 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 31 treesize of output 40 [2018-12-19 21:30:15,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,785 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 27 treesize of output 42 [2018-12-19 21:30:15,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:15,843 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:15,845 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,857 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,867 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:15,895 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-19 21:30:15,905 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:30:15,923 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 25 treesize of output 51 [2018-12-19 21:30:15,943 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:15,946 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,968 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,982 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:15,996 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:16,007 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:16,034 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-19 21:30:16,035 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:16,041 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:16,041 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse1 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (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) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0)))) [2018-12-19 21:30:16,042 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:16,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,191 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:30:16,201 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:16,222 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-19 21:30:16,222 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-19 21:30:16,231 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:16,231 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, 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_p3)) (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 |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0))) [2018-12-19 21:30:16,232 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (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)) (= (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-19 21:30:16,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:16,287 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:30:16,291 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:16,317 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-19 21:30:16,318 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-19 21:30:16,448 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:16,448 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0))) [2018-12-19 21:30:16,448 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (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-19 21:30:16,476 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1264#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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-19 21:30:16,479 INFO L273 TraceCheckUtils]: 1: Hoare triple {1264#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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]; {1268#(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)) (exists ((ULTIMATE.start_main_p2 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)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:30:16,481 INFO L273 TraceCheckUtils]: 2: Hoare triple {1268#(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)) (exists ((ULTIMATE.start_main_p2 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)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1272#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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-19 21:30:16,482 INFO L273 TraceCheckUtils]: 3: Hoare triple {1272#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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); {1257#false} is VALID [2018-12-19 21:30:16,482 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-19 21:30:16,483 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:16,524 INFO L273 TraceCheckUtils]: 3: Hoare triple {1276#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1257#false} is VALID [2018-12-19 21:30:16,525 INFO L273 TraceCheckUtils]: 2: Hoare triple {1280#(<= 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]; {1276#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:16,527 INFO L273 TraceCheckUtils]: 1: Hoare triple {1284#(<= 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]; {1280#(<= 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-19 21:30:16,529 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1284#(<= 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-19 21:30:16,530 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-19 21:30:16,550 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:16,551 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:16,551 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:16,551 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:16,551 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:16,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:16,569 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-19 21:30:16,569 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:16,569 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:16,569 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:16,569 INFO L87 Difference]: Start difference. First operand 24 states and 79 transitions. Second operand 8 states. [2018-12-19 21:30:17,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:17,714 INFO L93 Difference]: Finished difference Result 52 states and 120 transitions. [2018-12-19 21:30:17,714 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:17,715 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:17,715 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:17,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:17,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:30:17,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:17,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-19 21:30:17,717 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-19 21:30:17,828 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-19 21:30:17,830 INFO L225 Difference]: With dead ends: 52 [2018-12-19 21:30:17,830 INFO L226 Difference]: Without dead ends: 48 [2018-12-19 21:30:17,831 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-19 21:30:17,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-12-19 21:30:17,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 26. [2018-12-19 21:30:17,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:17,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 26 states. [2018-12-19 21:30:17,944 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 26 states. [2018-12-19 21:30:17,944 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 26 states. [2018-12-19 21:30:17,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:17,947 INFO L93 Difference]: Finished difference Result 48 states and 114 transitions. [2018-12-19 21:30:17,947 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 114 transitions. [2018-12-19 21:30:17,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:17,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:17,948 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 48 states. [2018-12-19 21:30:17,948 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 48 states. [2018-12-19 21:30:17,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:17,951 INFO L93 Difference]: Finished difference Result 48 states and 114 transitions. [2018-12-19 21:30:17,951 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 114 transitions. [2018-12-19 21:30:17,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:17,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:17,951 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:17,951 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:17,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-19 21:30:17,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 90 transitions. [2018-12-19 21:30:17,953 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 90 transitions. Word has length 4 [2018-12-19 21:30:17,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:17,954 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 90 transitions. [2018-12-19 21:30:17,954 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:17,954 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 90 transitions. [2018-12-19 21:30:17,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:17,954 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:17,954 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:17,955 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:17,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:17,955 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2018-12-19 21:30:17,955 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:17,956 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:17,956 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:17,956 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:17,956 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:17,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:18,031 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1494#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:30:18,032 INFO L273 TraceCheckUtils]: 1: Hoare triple {1494#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:18,032 INFO L273 TraceCheckUtils]: 2: Hoare triple {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:18,033 INFO L273 TraceCheckUtils]: 3: Hoare triple {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-19 21:30:18,033 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-19 21:30:18,033 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:18,033 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:18,034 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:18,034 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2018-12-19 21:30:18,035 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:18,035 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:18,045 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:18,045 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:18,045 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:18,046 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:18,046 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:18,046 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-19 21:30:18,054 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:18,055 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:18,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:18,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:18,063 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:18,098 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 18 treesize of output 21 [2018-12-19 21:30:18,111 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 21 treesize of output 23 [2018-12-19 21:30:18,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,144 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 23 treesize of output 33 [2018-12-19 21:30:18,159 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,163 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 25 treesize of output 47 [2018-12-19 21:30:18,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,185 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-19 21:30:18,199 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,227 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,244 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,258 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,271 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,295 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-19 21:30:18,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,327 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-19 21:30:18,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,415 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-19 21:30:18,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,495 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-19 21:30:18,500 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,516 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,532 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,553 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,595 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-19 21:30:18,596 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-19 21:30:18,605 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:18,606 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_14|]. (let ((.cse0 (store (store |v_#valid_14| 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)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (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)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5))))) [2018-12-19 21:30:18,606 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-19 21:30:18,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:18,719 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-19 21:30:18,723 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:18,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-19 21:30:18,764 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-19 21:30:20,997 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:20,998 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= .cse0 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (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_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:20,998 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (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_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)) (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-19 21:30:21,094 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1499#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} is VALID [2018-12-19 21:30:21,098 INFO L273 TraceCheckUtils]: 1: Hoare triple {1499#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:30:21,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_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; {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:30:21,100 INFO L273 TraceCheckUtils]: 3: Hoare triple {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-19 21:30:21,101 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-19 21:30:21,101 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:21,125 INFO L273 TraceCheckUtils]: 3: Hoare triple {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-19 21:30:21,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:21,127 INFO L273 TraceCheckUtils]: 1: Hoare triple {1517#(<= (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]; {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:21,129 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1517#(<= (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-19 21:30:21,130 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-19 21:30:21,150 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:21,151 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:21,151 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:21,151 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:30:21,151 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:21,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:21,165 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-19 21:30:21,165 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:21,166 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:21,166 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:21,166 INFO L87 Difference]: Start difference. First operand 26 states and 90 transitions. Second operand 6 states. [2018-12-19 21:30:21,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:21,642 INFO L93 Difference]: Finished difference Result 42 states and 110 transitions. [2018-12-19 21:30:21,642 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:30:21,642 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:30:21,642 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:21,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:21,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:30:21,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:21,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:30:21,644 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-19 21:30:21,800 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:21,801 INFO L225 Difference]: With dead ends: 42 [2018-12-19 21:30:21,801 INFO L226 Difference]: Without dead ends: 41 [2018-12-19 21:30:21,801 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-19 21:30:21,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-12-19 21:30:22,045 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 26. [2018-12-19 21:30:22,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:22,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 26 states. [2018-12-19 21:30:22,046 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 26 states. [2018-12-19 21:30:22,046 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 26 states. [2018-12-19 21:30:22,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:22,049 INFO L93 Difference]: Finished difference Result 41 states and 108 transitions. [2018-12-19 21:30:22,049 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 108 transitions. [2018-12-19 21:30:22,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:22,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:22,049 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 41 states. [2018-12-19 21:30:22,049 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 41 states. [2018-12-19 21:30:22,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:22,051 INFO L93 Difference]: Finished difference Result 41 states and 108 transitions. [2018-12-19 21:30:22,051 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 108 transitions. [2018-12-19 21:30:22,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:22,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:22,052 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:22,052 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:22,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-19 21:30:22,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 90 transitions. [2018-12-19 21:30:22,053 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 90 transitions. Word has length 4 [2018-12-19 21:30:22,053 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:22,054 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 90 transitions. [2018-12-19 21:30:22,054 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:22,054 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 90 transitions. [2018-12-19 21:30:22,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:22,054 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:22,054 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:22,055 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:22,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:22,055 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2018-12-19 21:30:22,055 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:22,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:22,056 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:22,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:22,056 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:22,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:22,181 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1701#(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-19 21:30:22,183 INFO L273 TraceCheckUtils]: 1: Hoare triple {1701#(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]; {1702#(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-19 21:30:22,184 INFO L273 TraceCheckUtils]: 2: Hoare triple {1702#(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]; {1703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:22,184 INFO L273 TraceCheckUtils]: 3: Hoare triple {1703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1700#false} is VALID [2018-12-19 21:30:22,184 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-19 21:30:22,184 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:22,185 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:22,185 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:22,185 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2018-12-19 21:30:22,186 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:22,186 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:22,240 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:22,240 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:22,240 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:22,241 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:22,241 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:22,241 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-19 21:30:22,249 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:22,249 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:22,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:22,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:22,260 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:22,312 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 18 treesize of output 21 [2018-12-19 21:30:22,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, 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 27 [2018-12-19 21:30:22,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,337 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 23 treesize of output 37 [2018-12-19 21:30:22,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,388 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 25 treesize of output 51 [2018-12-19 21:30:22,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,415 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:22,420 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,474 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,492 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,506 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,519 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,551 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-19 21:30:22,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,609 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-19 21:30:22,676 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,681 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-19 21:30:22,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,766 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-19 21:30:22,772 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,790 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,808 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,828 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:22,874 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-19 21:30:22,874 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-19 21:30:22,885 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:22,885 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |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 |v_#memory_int_57| 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) |#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-19 21:30:22,885 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-19 21:30:22,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:22,996 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-19 21:30:23,002 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:23,046 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-19 21:30:23,046 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:23,078 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:23,079 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_58| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_58| ULTIMATE.start_main_p5 (+ .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)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:30:23,079 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-19 21:30:23,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:23,185 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-19 21:30:23,191 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:23,243 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-19 21:30:23,243 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:30:25,417 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:25,418 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_59| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:25,418 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-19 21:30:25,478 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1707#(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-19 21:30:25,480 INFO L273 TraceCheckUtils]: 1: Hoare triple {1707#(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]; {1711#(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-19 21:30:25,482 INFO L273 TraceCheckUtils]: 2: Hoare triple {1711#(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]; {1715#(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-19 21:30:25,483 INFO L273 TraceCheckUtils]: 3: Hoare triple {1715#(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); {1700#false} is VALID [2018-12-19 21:30:25,484 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-19 21:30:25,484 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:25,543 INFO L273 TraceCheckUtils]: 3: Hoare triple {1719#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1700#false} is VALID [2018-12-19 21:30:25,545 INFO L273 TraceCheckUtils]: 2: Hoare triple {1723#(<= 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]; {1719#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:25,546 INFO L273 TraceCheckUtils]: 1: Hoare triple {1727#(<= 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]; {1723#(<= 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-19 21:30:25,549 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1727#(<= 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-19 21:30:25,549 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-19 21:30:25,567 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:25,568 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:25,568 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:25,568 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:25,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:25,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:25,582 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-19 21:30:25,582 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:25,583 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:25,583 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:25,583 INFO L87 Difference]: Start difference. First operand 26 states and 90 transitions. Second operand 8 states. [2018-12-19 21:30:26,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:26,692 INFO L93 Difference]: Finished difference Result 54 states and 131 transitions. [2018-12-19 21:30:26,692 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:26,692 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:26,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:26,692 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:26,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:30:26,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:26,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:30:26,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-19 21:30:26,862 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:26,863 INFO L225 Difference]: With dead ends: 54 [2018-12-19 21:30:26,863 INFO L226 Difference]: Without dead ends: 53 [2018-12-19 21:30:26,864 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-19 21:30:26,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-12-19 21:30:27,203 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 27. [2018-12-19 21:30:27,203 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:27,203 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 27 states. [2018-12-19 21:30:27,203 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 27 states. [2018-12-19 21:30:27,204 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 27 states. [2018-12-19 21:30:27,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:27,205 INFO L93 Difference]: Finished difference Result 53 states and 129 transitions. [2018-12-19 21:30:27,205 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 129 transitions. [2018-12-19 21:30:27,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:27,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:27,206 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 53 states. [2018-12-19 21:30:27,206 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 53 states. [2018-12-19 21:30:27,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:27,208 INFO L93 Difference]: Finished difference Result 53 states and 129 transitions. [2018-12-19 21:30:27,208 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 129 transitions. [2018-12-19 21:30:27,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:27,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:27,209 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:27,209 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:27,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-12-19 21:30:27,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 96 transitions. [2018-12-19 21:30:27,210 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 96 transitions. Word has length 4 [2018-12-19 21:30:27,210 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:27,210 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 96 transitions. [2018-12-19 21:30:27,210 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:27,211 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 96 transitions. [2018-12-19 21:30:27,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:27,211 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:27,211 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:27,211 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:27,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:27,212 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 1 times [2018-12-19 21:30:27,212 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:27,212 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:27,213 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:27,213 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:27,213 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:27,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:27,363 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1953#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:27,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {1953#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1954#(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-19 21:30:27,366 INFO L273 TraceCheckUtils]: 2: Hoare triple {1954#(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]; {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:27,373 INFO L273 TraceCheckUtils]: 3: Hoare triple {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1952#false} is VALID [2018-12-19 21:30:27,374 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-19 21:30:27,374 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:27,374 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:27,374 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:27,374 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2018-12-19 21:30:27,375 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:27,375 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:27,396 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:27,396 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:27,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:27,396 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:27,396 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:27,397 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-19 21:30:27,409 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:27,409 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:27,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:27,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:27,417 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:27,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,455 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 31 treesize of output 40 [2018-12-19 21:30:27,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,500 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 27 treesize of output 42 [2018-12-19 21:30:27,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:27,555 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,568 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,578 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,598 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:27,606 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-19 21:30:27,618 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:30:27,640 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 25 treesize of output 51 [2018-12-19 21:30:27,663 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:27,672 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,691 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,708 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,721 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,736 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,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-19 21:30:27,764 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:27,772 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:27,773 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_16|]. (let ((.cse1 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_62| 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) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2))))) [2018-12-19 21:30:27,773 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)) (= 0 (select |#memory_int| 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)) (= 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-19 21:30:27,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,852 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:30:27,856 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:27,892 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-19 21:30:27,892 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-19 21:30:27,898 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:27,898 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:27,898 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, 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_p2)) (not (= ULTIMATE.start_main_p2 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-19 21:30:27,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:27,967 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 57 [2018-12-19 21:30:27,971 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:28,003 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-19 21:30:28,003 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:43, output treesize:25 [2018-12-19 21:30:30,058 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:30,059 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (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 |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1))) [2018-12-19 21:30:30,059 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, 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_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-19 21:30:30,107 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1959#(and (= (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_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-19 21:30:30,111 INFO L273 TraceCheckUtils]: 1: Hoare triple {1959#(and (= (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_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)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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_p2)) (not (= ULTIMATE.start_main_p2 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-19 21:30:30,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {1963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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_p2)) (not (= ULTIMATE.start_main_p2 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]; {1967#(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_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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-19 21:30:30,113 INFO L273 TraceCheckUtils]: 3: Hoare triple {1967#(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_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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); {1952#false} is VALID [2018-12-19 21:30:30,114 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-19 21:30:30,114 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:30,144 INFO L273 TraceCheckUtils]: 3: Hoare triple {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1952#false} is VALID [2018-12-19 21:30:30,152 INFO L273 TraceCheckUtils]: 2: Hoare triple {1974#(<= 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]; {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:30,154 INFO L273 TraceCheckUtils]: 1: Hoare triple {1978#(<= 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]; {1974#(<= 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-19 21:30:30,155 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {1978#(<= 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-19 21:30:30,155 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-19 21:30:30,174 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:30,174 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:30:30,174 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:30,175 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:30,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:30,175 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:30,186 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-19 21:30:30,187 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:30,187 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:30,187 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:30:30,187 INFO L87 Difference]: Start difference. First operand 27 states and 96 transitions. Second operand 8 states. [2018-12-19 21:30:30,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:30,894 INFO L93 Difference]: Finished difference Result 63 states and 165 transitions. [2018-12-19 21:30:30,894 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:30:30,894 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:30,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:30,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:30,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-19 21:30:30,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:30,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-19 21:30:30,896 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 79 transitions. [2018-12-19 21:30:31,010 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:31,012 INFO L225 Difference]: With dead ends: 63 [2018-12-19 21:30:31,013 INFO L226 Difference]: Without dead ends: 61 [2018-12-19 21:30:31,013 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:30:31,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-12-19 21:30:31,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 32. [2018-12-19 21:30:31,211 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:31,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 32 states. [2018-12-19 21:30:31,212 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 32 states. [2018-12-19 21:30:31,212 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 32 states. [2018-12-19 21:30:31,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:31,215 INFO L93 Difference]: Finished difference Result 61 states and 161 transitions. [2018-12-19 21:30:31,215 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 161 transitions. [2018-12-19 21:30:31,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:31,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:31,216 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 61 states. [2018-12-19 21:30:31,216 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 61 states. [2018-12-19 21:30:31,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:31,217 INFO L93 Difference]: Finished difference Result 61 states and 161 transitions. [2018-12-19 21:30:31,217 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 161 transitions. [2018-12-19 21:30:31,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:31,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:31,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:31,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:31,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-12-19 21:30:31,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 113 transitions. [2018-12-19 21:30:31,219 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 113 transitions. Word has length 4 [2018-12-19 21:30:31,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:31,219 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 113 transitions. [2018-12-19 21:30:31,219 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:31,219 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 113 transitions. [2018-12-19 21:30:31,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:31,220 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:31,220 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:31,220 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:31,220 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:31,220 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2018-12-19 21:30:31,220 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:31,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:31,221 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:31,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:31,221 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:31,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:31,309 INFO L273 TraceCheckUtils]: 0: Hoare triple {2235#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2237#(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-19 21:30:31,311 INFO L273 TraceCheckUtils]: 1: Hoare triple {2237#(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]; {2237#(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-19 21:30:31,312 INFO L273 TraceCheckUtils]: 2: Hoare triple {2237#(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)))} assume #memory_int[main_p1] >= 0; {2238#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:31,324 INFO L273 TraceCheckUtils]: 3: Hoare triple {2238#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2236#false} is VALID [2018-12-19 21:30:31,325 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:30:31,325 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 21:30:31,325 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-12-19 21:30:31,325 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:30:31,326 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:30:31,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:31,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:30:31,330 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-19 21:30:31,330 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:30:31,331 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:30:31,331 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-19 21:30:31,331 INFO L87 Difference]: Start difference. First operand 32 states and 113 transitions. Second operand 4 states. [2018-12-19 21:30:31,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:31,704 INFO L93 Difference]: Finished difference Result 41 states and 126 transitions. [2018-12-19 21:30:31,704 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:30:31,704 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 21:30:31,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:31,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:31,705 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2018-12-19 21:30:31,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:30:31,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2018-12-19 21:30:31,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 28 transitions. [2018-12-19 21:30:31,809 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:31,811 INFO L225 Difference]: With dead ends: 41 [2018-12-19 21:30:31,811 INFO L226 Difference]: Without dead ends: 40 [2018-12-19 21:30:31,811 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-19 21:30:31,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-12-19 21:30:32,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-12-19 21:30:32,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:32,140 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 33 states. [2018-12-19 21:30:32,140 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 33 states. [2018-12-19 21:30:32,140 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 33 states. [2018-12-19 21:30:32,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:32,142 INFO L93 Difference]: Finished difference Result 40 states and 124 transitions. [2018-12-19 21:30:32,142 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 124 transitions. [2018-12-19 21:30:32,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:32,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:32,143 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 40 states. [2018-12-19 21:30:32,143 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 40 states. [2018-12-19 21:30:32,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:32,144 INFO L93 Difference]: Finished difference Result 40 states and 124 transitions. [2018-12-19 21:30:32,144 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 124 transitions. [2018-12-19 21:30:32,145 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:32,145 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:32,145 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:32,145 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:32,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-19 21:30:32,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 118 transitions. [2018-12-19 21:30:32,146 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 118 transitions. Word has length 4 [2018-12-19 21:30:32,147 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:32,147 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 118 transitions. [2018-12-19 21:30:32,147 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:30:32,147 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 118 transitions. [2018-12-19 21:30:32,147 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:32,147 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:32,147 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:32,148 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:32,148 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:32,148 INFO L82 PathProgramCache]: Analyzing trace with hash 933712, now seen corresponding path program 2 times [2018-12-19 21:30:32,148 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:32,149 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:32,149 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:32,149 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:32,149 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:32,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:32,286 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2431#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 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-19 21:30:32,288 INFO L273 TraceCheckUtils]: 1: Hoare triple {2431#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 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]; {2432#(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-19 21:30:32,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {2432#(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]; {2433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:32,305 INFO L273 TraceCheckUtils]: 3: Hoare triple {2433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2430#false} is VALID [2018-12-19 21:30:32,305 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-19 21:30:32,305 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:32,305 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:32,305 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:30:32,306 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:30:32,306 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:32,306 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-19 21:30:32,316 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:30:32,316 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:30:32,321 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-19 21:30:32,322 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:30:32,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:32,331 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:32,382 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 18 treesize of output 21 [2018-12-19 21:30:32,391 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 21 treesize of output 27 [2018-12-19 21:30:32,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,403 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 23 treesize of output 37 [2018-12-19 21:30:32,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,429 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 25 treesize of output 51 [2018-12-19 21:30:32,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,460 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:32,465 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,494 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,512 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,526 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,541 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,575 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-19 21:30:32,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,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-19 21:30:32,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,785 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-19 21:30:32,865 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,869 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:32,873 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-19 21:30:32,877 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,897 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,917 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,937 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:32,981 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-19 21:30:32,982 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-19 21:30:33,006 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:33,007 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, |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 (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store |v_#memory_int_67| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-19 21:30:33,007 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (= 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)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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-19 21:30:33,432 WARN L181 SmtUtils]: Spent 176.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-12-19 21:30:33,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:33,535 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-19 21:30:33,541 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:33,584 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-19 21:30:33,584 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:35,684 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:35,685 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_68| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (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_p2)) (= 0 (select |v_#memory_int_68| ULTIMATE.start_malloc_ptr)) (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)) (= (select |v_#memory_int_68| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-19 21:30:35,685 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:35,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:35,806 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:30:35,807 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 79 [2018-12-19 21:30:35,813 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:35,861 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-19 21:30:35,861 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:44 [2018-12-19 21:30:35,873 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:35,873 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_69| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_69| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_69| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_69| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |v_#memory_int_69| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_69| ULTIMATE.start_main_p2) 1)))) [2018-12-19 21:30:35,874 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:35,911 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2437#(and (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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)))} is VALID [2018-12-19 21:30:35,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {2437#(and (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2441#(and (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_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:35,915 INFO L273 TraceCheckUtils]: 2: Hoare triple {2441#(and (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_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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]; {2445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (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-19 21:30:35,917 INFO L273 TraceCheckUtils]: 3: Hoare triple {2445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (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); {2430#false} is VALID [2018-12-19 21:30:35,918 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-19 21:30:35,918 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:35,974 INFO L273 TraceCheckUtils]: 3: Hoare triple {2449#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2430#false} is VALID [2018-12-19 21:30:35,975 INFO L273 TraceCheckUtils]: 2: Hoare triple {2453#(<= 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]; {2449#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:35,977 INFO L273 TraceCheckUtils]: 1: Hoare triple {2457#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2453#(<= 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-19 21:30:35,978 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2457#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:35,979 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-19 21:30:35,998 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:35,998 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:35,998 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:35,998 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:35,998 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:35,999 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:36,010 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-19 21:30:36,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:36,011 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:36,011 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:36,011 INFO L87 Difference]: Start difference. First operand 33 states and 118 transitions. Second operand 8 states. [2018-12-19 21:30:37,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:37,428 INFO L93 Difference]: Finished difference Result 57 states and 149 transitions. [2018-12-19 21:30:37,428 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:37,428 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:37,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:37,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:37,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:30:37,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:37,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:30:37,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-19 21:30:37,524 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:37,526 INFO L225 Difference]: With dead ends: 57 [2018-12-19 21:30:37,526 INFO L226 Difference]: Without dead ends: 55 [2018-12-19 21:30:37,527 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:37,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-19 21:30:38,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 33. [2018-12-19 21:30:38,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:38,504 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 33 states. [2018-12-19 21:30:38,504 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 33 states. [2018-12-19 21:30:38,504 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 33 states. [2018-12-19 21:30:38,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:38,506 INFO L93 Difference]: Finished difference Result 55 states and 146 transitions. [2018-12-19 21:30:38,506 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 146 transitions. [2018-12-19 21:30:38,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:38,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:38,506 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 55 states. [2018-12-19 21:30:38,506 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 55 states. [2018-12-19 21:30:38,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:38,508 INFO L93 Difference]: Finished difference Result 55 states and 146 transitions. [2018-12-19 21:30:38,508 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 146 transitions. [2018-12-19 21:30:38,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:38,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:38,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:38,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:38,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-19 21:30:38,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 117 transitions. [2018-12-19 21:30:38,510 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 117 transitions. Word has length 4 [2018-12-19 21:30:38,510 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:38,510 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 117 transitions. [2018-12-19 21:30:38,510 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:38,510 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 117 transitions. [2018-12-19 21:30:38,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:38,511 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:38,511 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:38,511 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:38,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:38,511 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2018-12-19 21:30:38,511 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:38,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:38,512 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:30:38,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:38,512 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:38,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,664 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2702#(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-19 21:30:38,665 INFO L273 TraceCheckUtils]: 1: Hoare triple {2702#(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]; {2703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:38,666 INFO L273 TraceCheckUtils]: 2: Hoare triple {2703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:38,667 INFO L273 TraceCheckUtils]: 3: Hoare triple {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2701#false} is VALID [2018-12-19 21:30:38,667 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-19 21:30:38,667 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:38,667 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:38,668 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:38,668 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2018-12-19 21:30:38,670 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:38,670 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:38,693 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:38,693 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:38,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:38,694 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:38,694 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:38,694 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-19 21:30:38,705 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:38,705 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:38,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,732 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:38,733 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:38,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,777 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 31 treesize of output 40 [2018-12-19 21:30:38,820 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,822 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 27 treesize of output 42 [2018-12-19 21:30:38,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:38,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:30:38,903 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:38,923 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:38,936 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:38,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:30:39,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-19 21:30:39,033 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:30:39,045 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 25 treesize of output 51 [2018-12-19 21:30:39,073 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:30:39,076 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,101 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,118 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,131 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,143 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,174 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-19 21:30:39,174 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-19 21:30:39,183 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:39,184 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= |#memory_int| (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)) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3))))) [2018-12-19 21:30:39,184 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)) (= 0 (select |#memory_int| 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)) (= 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-19 21:30:39,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,256 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-19 21:30:39,294 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,343 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-19 21:30:39,343 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-19 21:30:39,355 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:39,355 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (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)) (= (store |v_#memory_int_73| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:39,356 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (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) (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-19 21:30:39,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:39,411 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:30:39,414 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:39,446 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-19 21:30:39,446 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-19 21:30:39,454 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:39,455 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (+ (select |v_#memory_int_74| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:39,455 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:30:39,480 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2708#(and (= (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-19 21:30:39,482 INFO L273 TraceCheckUtils]: 1: Hoare triple {2708#(and (= (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]; {2712#(and (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-19 21:30:39,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {2712#(and (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)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2716#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-19 21:30:39,485 INFO L273 TraceCheckUtils]: 3: Hoare triple {2716#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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); {2701#false} is VALID [2018-12-19 21:30:39,486 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-19 21:30:39,486 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:39,522 INFO L273 TraceCheckUtils]: 3: Hoare triple {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2701#false} is VALID [2018-12-19 21:30:39,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {2723#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:39,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {2727#(<= 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]; {2723#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:30:39,526 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2727#(<= 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-19 21:30:39,527 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-19 21:30:39,547 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:39,548 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:30:39,548 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:39,548 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:39,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:39,548 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:39,560 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-19 21:30:39,561 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:39,561 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:39,561 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:30:39,561 INFO L87 Difference]: Start difference. First operand 33 states and 117 transitions. Second operand 8 states. [2018-12-19 21:30:40,546 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:40,546 INFO L93 Difference]: Finished difference Result 61 states and 173 transitions. [2018-12-19 21:30:40,546 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-19 21:30:40,547 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:40,547 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:40,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:40,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-19 21:30:40,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:40,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-19 21:30:40,549 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2018-12-19 21:30:40,693 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:40,694 INFO L225 Difference]: With dead ends: 61 [2018-12-19 21:30:40,694 INFO L226 Difference]: Without dead ends: 60 [2018-12-19 21:30:40,695 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:40,695 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-12-19 21:30:40,932 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 36. [2018-12-19 21:30:40,932 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:40,932 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 36 states. [2018-12-19 21:30:40,932 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 36 states. [2018-12-19 21:30:40,932 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 36 states. [2018-12-19 21:30:40,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:40,935 INFO L93 Difference]: Finished difference Result 60 states and 171 transitions. [2018-12-19 21:30:40,935 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 171 transitions. [2018-12-19 21:30:40,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:40,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:40,936 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 60 states. [2018-12-19 21:30:40,936 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 60 states. [2018-12-19 21:30:40,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:40,938 INFO L93 Difference]: Finished difference Result 60 states and 171 transitions. [2018-12-19 21:30:40,938 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 171 transitions. [2018-12-19 21:30:40,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:40,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:40,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:40,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:40,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-12-19 21:30:40,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 135 transitions. [2018-12-19 21:30:40,940 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 135 transitions. Word has length 4 [2018-12-19 21:30:40,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:40,941 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 135 transitions. [2018-12-19 21:30:40,941 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:40,941 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 135 transitions. [2018-12-19 21:30:40,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:40,941 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:40,941 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:40,941 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:40,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:40,942 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2018-12-19 21:30:40,942 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:40,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:40,943 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:40,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:40,943 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:40,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:41,374 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2994#(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-19 21:30:41,386 INFO L273 TraceCheckUtils]: 1: Hoare triple {2994#(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]; {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:41,399 INFO L273 TraceCheckUtils]: 2: Hoare triple {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:41,412 INFO L273 TraceCheckUtils]: 3: Hoare triple {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-19 21:30:41,413 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-19 21:30:41,413 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:41,413 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:41,413 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:41,413 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2018-12-19 21:30:41,417 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:41,417 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:41,475 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:41,475 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:41,476 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:41,476 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:41,476 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:41,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 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-19 21:30:41,485 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:41,485 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:41,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:41,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:41,512 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:41,561 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 18 treesize of output 21 [2018-12-19 21:30:41,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, 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 23 [2018-12-19 21:30:41,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,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, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-19 21:30:41,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,599 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 25 treesize of output 47 [2018-12-19 21:30:41,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,622 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-19 21:30:41,631 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,660 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,677 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,692 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,705 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,730 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-19 21:30:41,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,760 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-19 21:30:41,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,823 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-19 21:30:41,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:41,906 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-19 21:30:41,909 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,925 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,943 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:41,960 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:42,030 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-19 21:30:42,030 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-19 21:30:42,037 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:42,038 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, |v_#valid_19|]. (let ((.cse1 (store (store |v_#valid_19| ULTIMATE.start_main_p1 1) 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 (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= (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_malloc_ptr 0) |#memory_int|)))) [2018-12-19 21:30:42,038 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr]. (and (= 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_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr 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-19 21:30:42,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:42,126 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-19 21:30:42,131 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:42,188 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-19 21:30:42,188 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-19 21:30:44,522 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:44,522 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_78| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_78| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (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_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_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-19 21:30:44,522 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 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) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:44,606 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {2999#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:30:44,609 INFO L273 TraceCheckUtils]: 1: Hoare triple {2999#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:30:44,610 INFO L273 TraceCheckUtils]: 2: Hoare triple {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume #memory_int[main_p1] >= 0; {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:30:44,611 INFO L273 TraceCheckUtils]: 3: Hoare triple {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-19 21:30:44,611 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-19 21:30:44,612 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:44,635 INFO L273 TraceCheckUtils]: 3: Hoare triple {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-19 21:30:44,636 INFO L273 TraceCheckUtils]: 2: Hoare triple {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:44,637 INFO L273 TraceCheckUtils]: 1: Hoare triple {3017#(<= (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]; {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:30:44,639 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3017#(<= (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-19 21:30:44,639 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-19 21:30:44,659 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:44,660 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-19 21:30:44,660 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:44,660 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:30:44,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:44,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-19 21:30:44,674 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-19 21:30:44,674 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-19 21:30:44,674 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-19 21:30:44,674 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-19 21:30:44,675 INFO L87 Difference]: Start difference. First operand 36 states and 135 transitions. Second operand 6 states. [2018-12-19 21:30:45,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,286 INFO L93 Difference]: Finished difference Result 53 states and 161 transitions. [2018-12-19 21:30:45,286 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-19 21:30:45,286 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-19 21:30:45,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:45,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:45,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:30:45,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-19 21:30:45,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-19 21:30:45,288 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-19 21:30:45,374 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:45,376 INFO L225 Difference]: With dead ends: 53 [2018-12-19 21:30:45,376 INFO L226 Difference]: Without dead ends: 52 [2018-12-19 21:30:45,376 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-19 21:30:45,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-12-19 21:30:45,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 37. [2018-12-19 21:30:45,698 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:45,698 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 37 states. [2018-12-19 21:30:45,698 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 37 states. [2018-12-19 21:30:45,699 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 37 states. [2018-12-19 21:30:45,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,701 INFO L93 Difference]: Finished difference Result 52 states and 159 transitions. [2018-12-19 21:30:45,701 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 159 transitions. [2018-12-19 21:30:45,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:45,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:45,701 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 52 states. [2018-12-19 21:30:45,701 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 52 states. [2018-12-19 21:30:45,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:45,702 INFO L93 Difference]: Finished difference Result 52 states and 159 transitions. [2018-12-19 21:30:45,703 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 159 transitions. [2018-12-19 21:30:45,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:45,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:45,703 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:45,703 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:45,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-19 21:30:45,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 141 transitions. [2018-12-19 21:30:45,704 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 141 transitions. Word has length 4 [2018-12-19 21:30:45,705 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:45,705 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 141 transitions. [2018-12-19 21:30:45,705 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-19 21:30:45,705 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 141 transitions. [2018-12-19 21:30:45,705 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 21:30:45,705 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:45,705 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 21:30:45,706 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:45,706 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:45,706 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2018-12-19 21:30:45,706 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:45,707 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:45,707 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:45,707 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:45,707 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:45,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:45,989 WARN L181 SmtUtils]: Spent 109.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-12-19 21:30:46,062 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3261#(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_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-19 21:30:46,064 INFO L273 TraceCheckUtils]: 1: Hoare triple {3261#(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_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3262#(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-19 21:30:46,065 INFO L273 TraceCheckUtils]: 2: Hoare triple {3262#(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]; {3263#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:46,066 INFO L273 TraceCheckUtils]: 3: Hoare triple {3263#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-19 21:30:46,066 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-19 21:30:46,066 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:46,066 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:46,067 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 21:30:46,067 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2018-12-19 21:30:46,069 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:30:46,069 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:30:46,086 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:30:46,086 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 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-19 21:30:46,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:46,087 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:30:46,087 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:46,087 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-19 21:30:46,095 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:46,095 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:30:46,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:46,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:46,105 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:46,158 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 18 treesize of output 21 [2018-12-19 21:30:46,167 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 21 treesize of output 27 [2018-12-19 21:30:46,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,181 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 23 treesize of output 37 [2018-12-19 21:30:46,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,200 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 25 treesize of output 51 [2018-12-19 21:30:46,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,226 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:46,232 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,267 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,284 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,300 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,314 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,349 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-19 21:30:46,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,410 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-19 21:30:46,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,481 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-19 21:30:46,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,565 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,567 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,570 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-19 21:30:46,575 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,595 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,614 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,634 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,729 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-19 21:30:46,729 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-19 21:30:46,736 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:46,736 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| 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) (= (store (store (store (store (store |v_#memory_int_80| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr) 0) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-19 21:30:46,736 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr]. (and (= 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_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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-19 21:30:46,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:46,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, 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-19 21:30:46,856 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:46,899 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-19 21:30:46,900 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:48,963 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:48,963 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_81|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_81| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_81| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_81| ULTIMATE.start_malloc_ptr)) (= (store |v_#memory_int_81| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_81| 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)) (= 0 (select |v_#memory_int_81| ULTIMATE.start_main_p2)) (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)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-19 21:30:48,963 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 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) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:49,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:49,290 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-19 21:30:49,327 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:49,440 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-19 21:30:49,441 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-19 21:30:51,465 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:51,465 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_82| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_82| ULTIMATE.start_malloc_ptr)) (= 0 .cse0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (store |v_#memory_int_82| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_82| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_82| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_82| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:30:51,465 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:51,506 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3267#(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) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p4)) (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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= 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-19 21:30:51,509 INFO L273 TraceCheckUtils]: 1: Hoare triple {3267#(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) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p4)) (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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= 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_p3 := #memory_int[main_p3] + 1]; {3271#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (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-19 21:30:51,512 INFO L273 TraceCheckUtils]: 2: Hoare triple {3271#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (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]; {3275#(and (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_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-19 21:30:51,513 INFO L273 TraceCheckUtils]: 3: Hoare triple {3275#(and (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_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-19 21:30:51,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-19 21:30:51,514 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:51,569 INFO L273 TraceCheckUtils]: 3: Hoare triple {3279#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-19 21:30:51,570 INFO L273 TraceCheckUtils]: 2: Hoare triple {3283#(<= 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]; {3279#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:51,572 INFO L273 TraceCheckUtils]: 1: Hoare triple {3287#(<= 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]; {3283#(<= 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-19 21:30:51,574 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3287#(<= 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-19 21:30:51,575 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-19 21:30:51,595 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:51,595 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:30:51,595 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:51,596 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:51,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:51,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:30:51,609 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-19 21:30:51,609 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:30:51,610 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:30:51,610 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:30:51,610 INFO L87 Difference]: Start difference. First operand 37 states and 141 transitions. Second operand 8 states. [2018-12-19 21:30:53,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:53,316 INFO L93 Difference]: Finished difference Result 69 states and 192 transitions. [2018-12-19 21:30:53,316 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:30:53,316 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-19 21:30:53,317 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:53,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:53,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:30:53,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:30:53,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-19 21:30:53,318 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-19 21:30:53,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:30:53,545 INFO L225 Difference]: With dead ends: 69 [2018-12-19 21:30:53,545 INFO L226 Difference]: Without dead ends: 68 [2018-12-19 21:30:53,546 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-19 21:30:53,547 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-12-19 21:30:53,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 39. [2018-12-19 21:30:53,883 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:53,883 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 39 states. [2018-12-19 21:30:53,883 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 39 states. [2018-12-19 21:30:53,883 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 39 states. [2018-12-19 21:30:53,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:53,887 INFO L93 Difference]: Finished difference Result 68 states and 190 transitions. [2018-12-19 21:30:53,887 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 190 transitions. [2018-12-19 21:30:53,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:53,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:53,888 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 68 states. [2018-12-19 21:30:53,888 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 68 states. [2018-12-19 21:30:53,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:53,890 INFO L93 Difference]: Finished difference Result 68 states and 190 transitions. [2018-12-19 21:30:53,890 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 190 transitions. [2018-12-19 21:30:53,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:53,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:53,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:53,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:53,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-12-19 21:30:53,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 153 transitions. [2018-12-19 21:30:53,893 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 153 transitions. Word has length 4 [2018-12-19 21:30:53,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:53,893 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 153 transitions. [2018-12-19 21:30:53,893 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:30:53,893 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 153 transitions. [2018-12-19 21:30:53,893 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:30:53,894 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:53,894 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2018-12-19 21:30:53,894 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:53,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:53,894 INFO L82 PathProgramCache]: Analyzing trace with hash 29182896, now seen corresponding path program 2 times [2018-12-19 21:30:53,894 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:53,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:53,895 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:30:53,895 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:53,896 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:53,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:54,247 WARN L181 SmtUtils]: Spent 203.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 13 [2018-12-19 21:30:54,273 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3588#(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-19 21:30:54,274 INFO L273 TraceCheckUtils]: 1: Hoare triple {3588#(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]; {3588#(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-19 21:30:54,275 INFO L273 TraceCheckUtils]: 2: Hoare triple {3588#(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]; {3589#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:30:54,276 INFO L273 TraceCheckUtils]: 3: Hoare triple {3589#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:54,277 INFO L273 TraceCheckUtils]: 4: Hoare triple {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3587#false} is VALID [2018-12-19 21:30:54,277 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-19 21:30:54,277 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:54,278 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:30:54,278 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:30:54,278 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:30:54,278 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:30:54,278 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-19 21:30:54,287 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:30:54,287 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:30:54,293 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:30:54,293 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:30:54,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:30:54,299 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:30:54,351 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 18 treesize of output 21 [2018-12-19 21:30:54,358 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 21 treesize of output 27 [2018-12-19 21:30:54,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,368 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 23 treesize of output 37 [2018-12-19 21:30:54,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,419 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 25 treesize of output 51 [2018-12-19 21:30:54,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,452 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:30:54,456 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,587 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,605 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,620 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,632 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,666 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-19 21:30:54,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,720 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-19 21:30:54,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,781 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-19 21:30:54,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:54,862 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-19 21:30:54,884 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,902 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,921 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,940 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:30:54,985 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-19 21:30:54,985 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:69, output treesize:66 [2018-12-19 21:30:54,995 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:54,996 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, |v_#valid_21|]. (let ((.cse2 (store |v_#valid_21| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= (store (store (store (store (store |v_#memory_int_85| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-19 21:30:54,996 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (= 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)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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-19 21:30:55,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,090 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-19 21:30:55,094 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:55,136 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-19 21:30:55,137 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:30:55,145 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:55,146 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_86|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_86| ULTIMATE.start_main_p4))) (and (= .cse0 0) (= (select |v_#memory_int_86| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_86| ULTIMATE.start_main_p1) 0) (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_p2)) (= (store |v_#memory_int_86| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (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)) (= (select |v_#memory_int_86| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_86| ULTIMATE.start_malloc_ptr)))) [2018-12-19 21:30:55,146 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:55,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:55,232 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 78 [2018-12-19 21:30:55,235 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:55,281 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-19 21:30:55,281 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:50 [2018-12-19 21:30:57,332 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:57,332 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_87| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_87| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_87| ULTIMATE.start_malloc_ptr)) (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)) (= |#memory_int| (store |v_#memory_int_87| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (+ .cse0 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_87| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_87| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-19 21:30:57,332 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-19 21:30:57,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,420 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:30:57,421 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-19 21:30:57,428 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:30:57,471 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-19 21:30:57,471 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-19 21:30:57,485 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:30:57,485 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_88| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_88| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_88| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-19 21:30:57,485 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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-19 21:30:57,521 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3594#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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_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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:30:57,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {3594#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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_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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (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]; {3598#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:30:57,526 INFO L273 TraceCheckUtils]: 2: Hoare triple {3598#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3602#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-19 21:30:57,529 INFO L273 TraceCheckUtils]: 3: Hoare triple {3602#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3606#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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-19 21:30:57,530 INFO L273 TraceCheckUtils]: 4: Hoare triple {3606#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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); {3587#false} is VALID [2018-12-19 21:30:57,531 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-19 21:30:57,531 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:30:57,574 INFO L273 TraceCheckUtils]: 4: Hoare triple {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3587#false} is VALID [2018-12-19 21:30:57,575 INFO L273 TraceCheckUtils]: 3: Hoare triple {3613#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:30:57,576 INFO L273 TraceCheckUtils]: 2: Hoare triple {3617#(<= 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]; {3613#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:30:57,578 INFO L273 TraceCheckUtils]: 1: Hoare triple {3621#(<= 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]; {3617#(<= 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-19 21:30:57,580 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3621#(<= 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-19 21:30:57,580 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-19 21:30:57,600 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:30:57,600 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 10 [2018-12-19 21:30:57,600 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:30:57,600 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-19 21:30:57,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:30:57,601 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-19 21:30:57,619 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-19 21:30:57,619 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-19 21:30:57,620 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-19 21:30:57,620 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=78, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:30:57,620 INFO L87 Difference]: Start difference. First operand 39 states and 153 transitions. Second operand 9 states. [2018-12-19 21:30:59,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:59,094 INFO L93 Difference]: Finished difference Result 73 states and 219 transitions. [2018-12-19 21:30:59,094 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:30:59,095 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-19 21:30:59,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:30:59,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:30:59,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:30:59,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-19 21:30:59,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-19 21:30:59,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-19 21:30:59,550 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-19 21:30:59,552 INFO L225 Difference]: With dead ends: 73 [2018-12-19 21:30:59,552 INFO L226 Difference]: Without dead ends: 71 [2018-12-19 21:30:59,552 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:30:59,553 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-12-19 21:30:59,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 42. [2018-12-19 21:30:59,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:30:59,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 42 states. [2018-12-19 21:30:59,952 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 42 states. [2018-12-19 21:30:59,952 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 42 states. [2018-12-19 21:30:59,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:59,956 INFO L93 Difference]: Finished difference Result 71 states and 216 transitions. [2018-12-19 21:30:59,956 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 216 transitions. [2018-12-19 21:30:59,956 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:59,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:59,956 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 71 states. [2018-12-19 21:30:59,956 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 71 states. [2018-12-19 21:30:59,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:30:59,958 INFO L93 Difference]: Finished difference Result 71 states and 216 transitions. [2018-12-19 21:30:59,958 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 216 transitions. [2018-12-19 21:30:59,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:30:59,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:30:59,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:30:59,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:30:59,959 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-12-19 21:30:59,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 171 transitions. [2018-12-19 21:30:59,961 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 171 transitions. Word has length 5 [2018-12-19 21:30:59,961 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:30:59,961 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 171 transitions. [2018-12-19 21:30:59,961 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-19 21:30:59,961 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 171 transitions. [2018-12-19 21:30:59,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:30:59,962 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:30:59,962 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:30:59,962 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:30:59,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:30:59,962 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2018-12-19 21:30:59,962 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:30:59,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:59,963 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:30:59,963 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:30:59,964 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:30:59,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,084 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3941#(and (or (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2))) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)))} is VALID [2018-12-19 21:31:00,086 INFO L273 TraceCheckUtils]: 1: Hoare triple {3941#(and (or (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2))) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3942#(or (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2))))} is VALID [2018-12-19 21:31:00,087 INFO L273 TraceCheckUtils]: 2: Hoare triple {3942#(or (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:00,087 INFO L273 TraceCheckUtils]: 3: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:00,087 INFO L273 TraceCheckUtils]: 4: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-19 21:31:00,088 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-19 21:31:00,088 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:00,088 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:00,088 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:00,088 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2018-12-19 21:31:00,090 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:00,090 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:00,106 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:00,106 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:00,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:00,106 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:00,106 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:00,107 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-19 21:31:00,115 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:00,115 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:00,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:00,125 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:00,216 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 18 treesize of output 21 [2018-12-19 21:31:00,226 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 21 treesize of output 23 [2018-12-19 21:31:00,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,239 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 23 treesize of output 33 [2018-12-19 21:31:00,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,256 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 25 treesize of output 47 [2018-12-19 21:31:00,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,281 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-19 21:31:00,287 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,319 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,336 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,351 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,363 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,387 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-19 21:31:00,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,420 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-19 21:31:00,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,483 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-19 21:31:00,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,564 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-19 21:31:00,567 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,585 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,601 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,620 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,660 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-19 21:31:00,660 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:61, output treesize:62 [2018-12-19 21:31:00,669 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:00,670 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, |v_#valid_22|]. (let ((.cse0 (store (store |v_#valid_22| 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) (= |#memory_int| (store (store (store (store (store |v_#memory_int_92| 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)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-19 21:31:00,670 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-19 21:31:00,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:00,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, 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 62 [2018-12-19 21:31:00,784 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:00,822 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-19 21:31:00,823 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:72, output treesize:46 [2018-12-19 21:31:03,016 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:03,016 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_93|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_93| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_93| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_93| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_93| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_93| 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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_93| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-19 21:31:03,016 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, 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)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-19 21:31:03,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:03,125 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 76 [2018-12-19 21:31:03,131 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:03,169 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-19 21:31:03,169 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:58, output treesize:36 [2018-12-19 21:31:05,342 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:05,342 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_94|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_94| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_94| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_94| ULTIMATE.start_main_p3) 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_94| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= (store |v_#memory_int_94| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_94| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:31:05,342 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) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 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-19 21:31:05,408 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 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_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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (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))} is VALID [2018-12-19 21:31:05,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {3947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 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_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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (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))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3951#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:31:05,413 INFO L273 TraceCheckUtils]: 2: Hoare triple {3951#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (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-19 21:31:05,414 INFO L273 TraceCheckUtils]: 3: Hoare triple {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (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-19 21:31:05,418 INFO L273 TraceCheckUtils]: 4: Hoare triple {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-19 21:31:05,419 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-19 21:31:05,419 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:05,455 INFO L273 TraceCheckUtils]: 4: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-19 21:31:05,456 INFO L273 TraceCheckUtils]: 3: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:05,457 INFO L273 TraceCheckUtils]: 2: Hoare triple {3968#(<= (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]; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:05,458 INFO L273 TraceCheckUtils]: 1: Hoare triple {3972#(<= (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) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3968#(<= (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-19 21:31:05,461 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {3972#(<= (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) 0)} is VALID [2018-12-19 21:31:05,461 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-19 21:31:05,481 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:05,482 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-19 21:31:05,482 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:05,482 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:05,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:05,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:05,499 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-19 21:31:05,499 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:05,500 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:05,500 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2018-12-19 21:31:05,500 INFO L87 Difference]: Start difference. First operand 42 states and 171 transitions. Second operand 8 states. [2018-12-19 21:31:07,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:07,853 INFO L93 Difference]: Finished difference Result 84 states and 258 transitions. [2018-12-19 21:31:07,853 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:07,853 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:07,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:07,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:07,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-19 21:31:07,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:07,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-19 21:31:07,855 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 79 transitions. [2018-12-19 21:31:07,982 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:07,984 INFO L225 Difference]: With dead ends: 84 [2018-12-19 21:31:07,984 INFO L226 Difference]: Without dead ends: 78 [2018-12-19 21:31:07,985 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 3 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-19 21:31:07,985 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-12-19 21:31:08,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 48. [2018-12-19 21:31:08,797 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:08,797 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 48 states. [2018-12-19 21:31:08,797 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 48 states. [2018-12-19 21:31:08,797 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 48 states. [2018-12-19 21:31:08,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:08,801 INFO L93 Difference]: Finished difference Result 78 states and 249 transitions. [2018-12-19 21:31:08,801 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 249 transitions. [2018-12-19 21:31:08,802 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:08,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:08,802 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 78 states. [2018-12-19 21:31:08,802 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 78 states. [2018-12-19 21:31:08,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:08,805 INFO L93 Difference]: Finished difference Result 78 states and 249 transitions. [2018-12-19 21:31:08,805 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 249 transitions. [2018-12-19 21:31:08,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:08,827 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:08,828 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:08,828 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:08,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-12-19 21:31:08,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 218 transitions. [2018-12-19 21:31:08,829 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 218 transitions. Word has length 5 [2018-12-19 21:31:08,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:08,830 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 218 transitions. [2018-12-19 21:31:08,830 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:08,830 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 218 transitions. [2018-12-19 21:31:08,830 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:08,830 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:08,830 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:08,831 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:08,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:08,835 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2018-12-19 21:31:08,835 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:08,836 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:08,836 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:08,836 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:08,836 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:08,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:09,005 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4338#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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-19 21:31:09,007 INFO L273 TraceCheckUtils]: 1: Hoare triple {4338#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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]; {4339#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_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-19 21:31:09,009 INFO L273 TraceCheckUtils]: 2: Hoare triple {4339#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_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]; {4340#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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-19 21:31:09,010 INFO L273 TraceCheckUtils]: 3: Hoare triple {4340#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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]; {4341#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-19 21:31:09,010 INFO L273 TraceCheckUtils]: 4: Hoare triple {4341#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-19 21:31:09,011 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-19 21:31:09,011 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:09,011 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:09,012 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:09,012 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2018-12-19 21:31:09,014 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:09,014 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:09,025 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:09,025 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:09,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:09,025 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:09,026 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:09,026 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-19 21:31:09,034 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:09,034 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:09,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:09,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:09,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:09,118 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 18 treesize of output 21 [2018-12-19 21:31:09,183 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 21 treesize of output 27 [2018-12-19 21:31:09,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,303 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 23 treesize of output 37 [2018-12-19 21:31:09,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,506 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 25 treesize of output 51 [2018-12-19 21:31:09,523 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:31:09,525 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,548 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,562 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,575 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,588 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,616 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 31 treesize of output 40 [2018-12-19 21:31:09,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,661 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 27 treesize of output 42 [2018-12-19 21:31:09,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:31:09,717 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,728 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,739 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:09,766 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:09,767 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-19 21:31:09,774 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:09,774 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p3, |v_#valid_23|]. (let ((.cse0 (store |v_#valid_23| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store |v_#memory_int_97| 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) |#memory_int|)))) [2018-12-19 21:31:09,775 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:09,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:09,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 54 [2018-12-19 21:31:09,864 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-19 21:31:10,002 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-12-19 21:31:10,002 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:60, output treesize:74 [2018-12-19 21:31:12,204 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:12,205 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_98| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_98| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_98| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:31:12,205 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_26]. (let ((.cse3 (select |#memory_int| ULTIMATE.start_main_p5)) (.cse0 (= (select |#memory_int| ULTIMATE.start_main_p1) 0)) (.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= v_prenex_26 ULTIMATE.start_main_p2)) .cse0 .cse1 .cse2 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (= 0 (+ .cse3 1))) (and (= 0 .cse3) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 .cse1 (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) .cse2 (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)))) [2018-12-19 21:31:12,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,381 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 6 case distinctions, treesize of input 50 treesize of output 80 [2018-12-19 21:31:12,388 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 8 xjuncts. [2018-12-19 21:31:12,585 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:12,589 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:12,590 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 51 [2018-12-19 21:31:12,647 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:12,748 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 11 dim-0 vars, and 5 xjuncts. [2018-12-19 21:31:12,748 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 7 variables, input treesize:96, output treesize:167 [2018-12-19 21:31:14,853 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:14,853 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_27, v_prenex_28, v_prenex_26]. (let ((.cse0 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))) (or (let ((.cse1 (select |v_#memory_int_99| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) .cse0 (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p5 (+ .cse1 1)) |#memory_int|) (= 0 .cse1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_99| ULTIMATE.start_main_p4) 1)))) (let ((.cse2 (+ (select v_prenex_27 v_prenex_28) 1))) (and (= 0 (select v_prenex_27 ULTIMATE.start_main_p1)) (= 0 (select v_prenex_27 v_prenex_26)) .cse0 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select v_prenex_27 ULTIMATE.start_main_p2) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)) (= (store v_prenex_27 v_prenex_28 .cse2) |#memory_int|) (= .cse2 0))))) [2018-12-19 21:31:14,854 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_30, v_prenex_29, ULTIMATE.start_main_p5, v_prenex_28, v_prenex_26, v_prenex_34, v_prenex_33, v_prenex_31, v_prenex_32, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse3 (select |#memory_int| ULTIMATE.start_main_p1)) (.cse4 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (= 0 .cse4)) (.cse0 (= .cse3 0))) (or (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) .cse0 (not (= v_prenex_26 ULTIMATE.start_main_p1)) .cse1 (not (= v_prenex_28 ULTIMATE.start_main_p1)) .cse2 (not (= v_prenex_26 ULTIMATE.start_main_p2))) (and (= .cse3 1) (not (= v_prenex_34 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_33) 1) 0) .cse2 (= (select |#memory_int| v_prenex_34) 0)) (and (not (= v_prenex_30 ULTIMATE.start_main_p2)) .cse0 (= (+ (select |#memory_int| v_prenex_29) 1) 0) .cse1 (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) .cse2 (not (= v_prenex_30 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_30) 0)) (and .cse0 (= (+ (select |#memory_int| v_prenex_31) 1) 0) .cse1 (= (select |#memory_int| v_prenex_32) 1) .cse2) (and (= 1 .cse4) .cse0 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))) [2018-12-19 21:31:15,119 WARN L181 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 88 DAG size of output: 69 [2018-12-19 21:31:15,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,198 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:15,202 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 86 [2018-12-19 21:31:15,204 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:15,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,315 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 53 [2018-12-19 21:31:15,318 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:15,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,412 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:15,413 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 82 [2018-12-19 21:31:15,417 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:15,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:15,516 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:15,517 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 73 [2018-12-19 21:31:15,521 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:15,605 INFO L267 ElimStorePlain]: Start of recursive call 1: 12 dim-0 vars, 4 dim-1 vars, End of recursive call: 12 dim-0 vars, and 4 xjuncts. [2018-12-19 21:31:15,606 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 16 variables, input treesize:167, output treesize:121 [2018-12-19 21:31:17,766 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:17,767 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_40, v_prenex_39, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_35, v_prenex_36, v_prenex_33, v_prenex_34, |v_#memory_int_100|, ULTIMATE.start_main_p2, v_prenex_32, v_prenex_31, v_prenex_37, v_prenex_38, v_prenex_28, v_prenex_26]. (or (let ((.cse0 (select v_prenex_40 v_prenex_39))) (and (= .cse0 1) (= 0 (+ (select v_prenex_40 ULTIMATE.start_main_p4) 1)) (= (select v_prenex_40 ULTIMATE.start_main_p3) 0) (= (select v_prenex_40 ULTIMATE.start_main_p1) 0) (= |#memory_int| (store v_prenex_40 v_prenex_39 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (let ((.cse1 (select v_prenex_35 v_prenex_36))) (and (= 0 (+ (select v_prenex_35 v_prenex_33) 1)) (= (select v_prenex_35 ULTIMATE.start_main_p1) 1) (= |#memory_int| (store v_prenex_35 v_prenex_36 (+ .cse1 (- 1)))) (not (= v_prenex_34 v_prenex_36)) (= .cse1 0) (= (select v_prenex_35 v_prenex_34) 0))) (let ((.cse2 (select |v_#memory_int_100| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_100| v_prenex_32) 1) (= .cse2 0) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p2 (+ .cse2 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_100| v_prenex_31) 1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0))) (let ((.cse3 (select v_prenex_37 v_prenex_38))) (and (= (select v_prenex_37 v_prenex_28) 0) (not (= v_prenex_28 v_prenex_26)) (not (= v_prenex_38 ULTIMATE.start_main_p1)) (not (= v_prenex_28 v_prenex_38)) (= (select v_prenex_37 ULTIMATE.start_main_p1) 0) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select v_prenex_37 v_prenex_26) 0) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (= .cse3 0) (= |#memory_int| (store v_prenex_37 v_prenex_38 (+ .cse3 (- 1)))) (not (= v_prenex_26 v_prenex_38))))) [2018-12-19 21:31:17,767 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_36, v_prenex_33, v_prenex_34, v_prenex_31, ULTIMATE.start_main_p2, v_prenex_32, ULTIMATE.start_main_p4, v_prenex_39, ULTIMATE.start_main_p3, v_prenex_28, v_prenex_26, v_prenex_38]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse1 (= .cse0 0))) (or (and (not (= v_prenex_36 v_prenex_33)) (= .cse0 1) (= (- 1) (select |#memory_int| v_prenex_36)) (= 0 (select |#memory_int| v_prenex_34)) (= (- 1) (select |#memory_int| v_prenex_33))) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| v_prenex_32)) .cse1) (and .cse1 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= v_prenex_39 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| v_prenex_39)) (not (= v_prenex_39 ULTIMATE.start_main_p1))) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) .cse1 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (= (- 1) (select |#memory_int| v_prenex_38)))))) [2018-12-19 21:31:17,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4345#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} is VALID [2018-12-19 21:31:17,889 INFO L273 TraceCheckUtils]: 1: Hoare triple {4345#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4349#(or (and (= (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 ((v_prenex_26 Int)) (and (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))) (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))) (= 0 (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-19 21:31:17,898 INFO L273 TraceCheckUtils]: 2: Hoare triple {4349#(or (and (= (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 ((v_prenex_26 Int)) (and (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))) (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))) (= 0 (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_p5 := #memory_int[main_p5] + 1]; {4353#(or (and (= (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 ((v_prenex_31 Int)) (= (+ (select |#memory_int| v_prenex_31) 1) 0)) (exists ((v_prenex_32 Int)) (= (select |#memory_int| v_prenex_32) 1))) (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))) (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (not (= v_prenex_26 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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_34 Int)) (and (= (select |#memory_int| v_prenex_34) 0) (not (= v_prenex_34 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_33 Int)) (= (+ (select |#memory_int| v_prenex_33) 1) 0))))} is VALID [2018-12-19 21:31:17,904 INFO L273 TraceCheckUtils]: 3: Hoare triple {4353#(or (and (= (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 ((v_prenex_31 Int)) (= (+ (select |#memory_int| v_prenex_31) 1) 0)) (exists ((v_prenex_32 Int)) (= (select |#memory_int| v_prenex_32) 1))) (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))) (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (not (= v_prenex_26 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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_34 Int)) (and (= (select |#memory_int| v_prenex_34) 0) (not (= v_prenex_34 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_33 Int)) (= (+ (select |#memory_int| v_prenex_33) 1) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4357#(or (and (exists ((v_prenex_31 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_32 Int)) (= 1 (select |#memory_int| v_prenex_32)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_33 Int) (v_prenex_36 Int)) (and (not (= v_prenex_36 v_prenex_33)) (= 0 (+ (select |#memory_int| v_prenex_33) 1)) (= 0 (+ (select |#memory_int| v_prenex_36) 1)))) (exists ((v_prenex_34 Int)) (= 0 (select |#memory_int| v_prenex_34)))) (and (exists ((v_prenex_38 Int)) (= 0 (+ (select |#memory_int| v_prenex_38) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1))))))} is VALID [2018-12-19 21:31:17,906 INFO L273 TraceCheckUtils]: 4: Hoare triple {4357#(or (and (exists ((v_prenex_31 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_32 Int)) (= 1 (select |#memory_int| v_prenex_32)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_33 Int) (v_prenex_36 Int)) (and (not (= v_prenex_36 v_prenex_33)) (= 0 (+ (select |#memory_int| v_prenex_33) 1)) (= 0 (+ (select |#memory_int| v_prenex_36) 1)))) (exists ((v_prenex_34 Int)) (= 0 (select |#memory_int| v_prenex_34)))) (and (exists ((v_prenex_38 Int)) (= 0 (+ (select |#memory_int| v_prenex_38) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1))))))} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-19 21:31:17,907 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-19 21:31:17,907 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:18,009 INFO L273 TraceCheckUtils]: 4: Hoare triple {4361#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-19 21:31:18,010 INFO L273 TraceCheckUtils]: 3: Hoare triple {4365#(<= 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]; {4361#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:18,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {4369#(<= 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]; {4365#(<= 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-19 21:31:18,012 INFO L273 TraceCheckUtils]: 1: Hoare triple {4373#(<= 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]; {4369#(<= 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-19 21:31:18,014 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4373#(<= 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-19 21:31:18,014 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-19 21:31:18,034 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:18,034 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-19 21:31:18,034 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:18,034 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:18,034 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:18,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:31:18,060 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-19 21:31:18,060 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:31:18,061 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:31:18,061 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=120, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:31:18,061 INFO L87 Difference]: Start difference. First operand 48 states and 218 transitions. Second operand 10 states. [2018-12-19 21:31:22,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:22,504 INFO L93 Difference]: Finished difference Result 109 states and 322 transitions. [2018-12-19 21:31:22,504 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-12-19 21:31:22,504 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:22,504 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:22,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:22,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2018-12-19 21:31:22,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:22,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2018-12-19 21:31:22,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2018-12-19 21:31:22,725 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:22,728 INFO L225 Difference]: With dead ends: 109 [2018-12-19 21:31:22,728 INFO L226 Difference]: Without dead ends: 107 [2018-12-19 21:31:22,728 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2018-12-19 21:31:22,729 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-12-19 21:31:23,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 51. [2018-12-19 21:31:23,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:23,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 51 states. [2018-12-19 21:31:23,362 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 51 states. [2018-12-19 21:31:23,362 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 51 states. [2018-12-19 21:31:23,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:23,365 INFO L93 Difference]: Finished difference Result 107 states and 317 transitions. [2018-12-19 21:31:23,365 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 317 transitions. [2018-12-19 21:31:23,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:23,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:23,366 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 107 states. [2018-12-19 21:31:23,366 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 107 states. [2018-12-19 21:31:23,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:23,369 INFO L93 Difference]: Finished difference Result 107 states and 317 transitions. [2018-12-19 21:31:23,369 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 317 transitions. [2018-12-19 21:31:23,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:23,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:23,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:23,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:23,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-12-19 21:31:23,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 236 transitions. [2018-12-19 21:31:23,371 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 236 transitions. Word has length 5 [2018-12-19 21:31:23,371 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:23,371 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 236 transitions. [2018-12-19 21:31:23,371 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:31:23,371 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 236 transitions. [2018-12-19 21:31:23,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:23,371 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:23,372 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:23,372 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:23,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:23,372 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2018-12-19 21:31:23,372 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:23,373 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:23,373 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:23,373 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:23,373 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:23,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:23,518 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4842#(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)))} is VALID [2018-12-19 21:31:23,519 INFO L273 TraceCheckUtils]: 1: Hoare triple {4842#(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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4843#(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-19 21:31:23,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {4843#(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]; {4843#(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-19 21:31:23,522 INFO L273 TraceCheckUtils]: 3: Hoare triple {4843#(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)))} assume #memory_int[main_p1] >= 0; {4844#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:23,522 INFO L273 TraceCheckUtils]: 4: Hoare triple {4844#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-19 21:31:23,523 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-19 21:31:23,523 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:23,523 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:23,523 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:23,524 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2018-12-19 21:31:23,525 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:23,526 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:23,539 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:23,539 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:23,539 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:23,540 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:23,540 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:23,540 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-19 21:31:23,548 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:23,548 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:23,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:23,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:23,557 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:23,625 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 18 treesize of output 21 [2018-12-19 21:31:23,634 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 21 treesize of output 27 [2018-12-19 21:31:23,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,647 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 23 treesize of output 37 [2018-12-19 21:31:23,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,663 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,666 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 25 treesize of output 51 [2018-12-19 21:31:23,691 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:31:23,696 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,720 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,739 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,755 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,768 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,796 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,797 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 31 treesize of output 40 [2018-12-19 21:31:23,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,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, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-19 21:31:23,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:23,912 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:31:23,916 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,928 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,940 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:23,971 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-19 21:31:23,972 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-19 21:31:23,994 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:23,995 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_104| 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)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0)))) [2018-12-19 21:31:23,995 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:24,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:24,155 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:31:24,161 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:24,183 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-19 21:31:24,184 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-19 21:31:25,850 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:25,850 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_105| ULTIMATE.start_main_p2) 0))) [2018-12-19 21:31:25,850 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (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)) (= (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-19 21:31:25,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:25,924 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-19 21:31:25,930 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:25,956 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-19 21:31:25,957 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-19 21:31:26,174 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:26,174 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:31:26,174 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_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-19 21:31:26,224 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4848#(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_p2)) (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) (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)))} is VALID [2018-12-19 21:31:26,226 INFO L273 TraceCheckUtils]: 1: Hoare triple {4848#(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_p2)) (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) (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4852#(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))) (= (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-19 21:31:26,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {4852#(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))) (= (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_p1 := #memory_int[main_p1] + 1]; {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:31:26,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:31:26,230 INFO L273 TraceCheckUtils]: 4: Hoare triple {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-19 21:31:26,231 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-19 21:31:26,231 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:26,285 INFO L273 TraceCheckUtils]: 4: Hoare triple {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-19 21:31:26,285 INFO L273 TraceCheckUtils]: 3: Hoare triple {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:26,287 INFO L273 TraceCheckUtils]: 2: Hoare triple {4870#(<= (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]; {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:26,288 INFO L273 TraceCheckUtils]: 1: Hoare triple {4874#(<= (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]; {4870#(<= (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-19 21:31:26,290 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {4874#(<= (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-19 21:31:26,291 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-19 21:31:26,309 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:26,309 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:26,309 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:26,310 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:26,310 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:26,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:26,323 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-19 21:31:26,324 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:26,324 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:26,324 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:26,324 INFO L87 Difference]: Start difference. First operand 51 states and 236 transitions. Second operand 8 states. [2018-12-19 21:31:28,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:28,057 INFO L93 Difference]: Finished difference Result 77 states and 292 transitions. [2018-12-19 21:31:28,057 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:31:28,057 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:28,057 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:28,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:28,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 52 transitions. [2018-12-19 21:31:28,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:28,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 52 transitions. [2018-12-19 21:31:28,058 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 52 transitions. [2018-12-19 21:31:28,130 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:28,132 INFO L225 Difference]: With dead ends: 77 [2018-12-19 21:31:28,132 INFO L226 Difference]: Without dead ends: 76 [2018-12-19 21:31:28,133 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2018-12-19 21:31:28,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-12-19 21:31:28,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2018-12-19 21:31:28,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:28,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 55 states. [2018-12-19 21:31:28,684 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 55 states. [2018-12-19 21:31:28,684 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 55 states. [2018-12-19 21:31:28,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:28,687 INFO L93 Difference]: Finished difference Result 76 states and 290 transitions. [2018-12-19 21:31:28,687 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 290 transitions. [2018-12-19 21:31:28,687 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:28,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:28,687 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 76 states. [2018-12-19 21:31:28,687 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 76 states. [2018-12-19 21:31:28,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:28,689 INFO L93 Difference]: Finished difference Result 76 states and 290 transitions. [2018-12-19 21:31:28,689 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 290 transitions. [2018-12-19 21:31:28,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:28,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:28,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:28,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:28,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-12-19 21:31:28,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 261 transitions. [2018-12-19 21:31:28,692 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 261 transitions. Word has length 5 [2018-12-19 21:31:28,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:28,692 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 261 transitions. [2018-12-19 21:31:28,692 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:28,692 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 261 transitions. [2018-12-19 21:31:28,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:28,693 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:28,693 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:28,693 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:28,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:28,694 INFO L82 PathProgramCache]: Analyzing trace with hash 29175642, now seen corresponding path program 2 times [2018-12-19 21:31:28,694 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:28,694 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:28,694 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:28,694 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:28,695 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:28,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:29,273 WARN L181 SmtUtils]: Spent 311.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 24 [2018-12-19 21:31:29,359 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5253#(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_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 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-19 21:31:29,362 INFO L273 TraceCheckUtils]: 1: Hoare triple {5253#(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_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 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]; {5254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5)) (= 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-19 21:31:29,364 INFO L273 TraceCheckUtils]: 2: Hoare triple {5254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5)) (= 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]; {5255#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} is VALID [2018-12-19 21:31:29,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {5255#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:31:29,366 INFO L273 TraceCheckUtils]: 4: Hoare triple {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {5252#false} is VALID [2018-12-19 21:31:29,367 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-19 21:31:29,367 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:29,367 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:29,368 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:31:29,368 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:31:29,368 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:29,368 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-19 21:31:29,377 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-19 21:31:29,377 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-19 21:31:29,383 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-19 21:31:29,384 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:31:29,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:29,392 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:29,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,440 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-19 21:31:29,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,499 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-19 21:31:29,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,565 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,566 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-19 21:31:29,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:29,647 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-19 21:31:29,650 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,670 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,690 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,709 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,740 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 18 treesize of output 21 [2018-12-19 21:31:29,790 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 21 treesize of output 27 [2018-12-19 21:31:29,806 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 23 treesize of output 37 [2018-12-19 21:31:29,823 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 25 treesize of output 51 [2018-12-19 21:31:29,843 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:31:29,850 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,879 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,895 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,908 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,920 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:29,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:29,956 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 3 variables, input treesize:69, output treesize:66 [2018-12-19 21:31:29,966 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:29,966 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_109|, ULTIMATE.start_main_p3, |v_#valid_25|]. (let ((.cse1 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store |v_#memory_int_109| 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) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-19 21:31:29,966 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-19 21:31:30,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:30,076 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-19 21:31:30,080 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:30,117 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-19 21:31:30,117 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-19 21:31:31,247 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,248 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_110| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_110| ULTIMATE.start_main_p2)) (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_110| 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_110| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_110| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_110| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:31,248 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-19 21:31:31,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,335 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:31,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, 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-19 21:31:31,340 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:31,380 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-19 21:31:31,381 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:42 [2018-12-19 21:31:31,391 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,392 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_111| 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)) (= (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)) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (+ (select |v_#memory_int_111| ULTIMATE.start_main_p4) 1) 0))) [2018-12-19 21:31:31,392 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_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-19 21:31:31,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:31,556 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 82 [2018-12-19 21:31:31,561 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:31,596 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-19 21:31:31,596 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-19 21:31:31,612 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:31,612 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_112| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 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_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:31:31,612 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (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_p4)) (= 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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-19 21:31:31,646 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5260#(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-19 21:31:31,649 INFO L273 TraceCheckUtils]: 1: Hoare triple {5260#(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]; {5264#(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-19 21:31:31,650 INFO L273 TraceCheckUtils]: 2: Hoare triple {5264#(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_p2 := #memory_int[main_p2] - 1]; {5268#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)))) (= 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))} is VALID [2018-12-19 21:31:31,652 INFO L273 TraceCheckUtils]: 3: Hoare triple {5268#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)))) (= 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))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5272#(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_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)) (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-19 21:31:31,653 INFO L273 TraceCheckUtils]: 4: Hoare triple {5272#(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_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)) (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); {5252#false} is VALID [2018-12-19 21:31:31,654 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-19 21:31:31,654 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:31,753 INFO L273 TraceCheckUtils]: 4: Hoare triple {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {5252#false} is VALID [2018-12-19 21:31:31,754 INFO L273 TraceCheckUtils]: 3: Hoare triple {5279#(or (= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (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]; {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:31:31,756 INFO L273 TraceCheckUtils]: 2: Hoare triple {5283#(or (= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5279#(or (= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:31,759 INFO L273 TraceCheckUtils]: 1: Hoare triple {5287#(or (= (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5283#(or (= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:31,761 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5287#(or (= (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (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_p5 (+ (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_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-19 21:31:31,761 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-19 21:31:31,781 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:31,781 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:31:31,781 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:31,781 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:31,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:31,781 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:31:31,799 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-19 21:31:31,800 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:31:31,800 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:31:31,800 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=100, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:31:31,800 INFO L87 Difference]: Start difference. First operand 55 states and 261 transitions. Second operand 10 states. [2018-12-19 21:31:34,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:34,305 INFO L93 Difference]: Finished difference Result 88 states and 340 transitions. [2018-12-19 21:31:34,305 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-19 21:31:34,306 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:34,306 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:34,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:34,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-12-19 21:31:34,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:34,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-12-19 21:31:34,308 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2018-12-19 21:31:34,428 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:34,430 INFO L225 Difference]: With dead ends: 88 [2018-12-19 21:31:34,430 INFO L226 Difference]: Without dead ends: 83 [2018-12-19 21:31:34,430 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=76, Invalid=134, Unknown=0, NotChecked=0, Total=210 [2018-12-19 21:31:34,431 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2018-12-19 21:31:35,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 61. [2018-12-19 21:31:35,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:35,410 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 61 states. [2018-12-19 21:31:35,411 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 61 states. [2018-12-19 21:31:35,411 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 61 states. [2018-12-19 21:31:35,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:35,413 INFO L93 Difference]: Finished difference Result 83 states and 331 transitions. [2018-12-19 21:31:35,414 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 331 transitions. [2018-12-19 21:31:35,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:35,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:35,414 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 83 states. [2018-12-19 21:31:35,414 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 83 states. [2018-12-19 21:31:35,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:35,416 INFO L93 Difference]: Finished difference Result 83 states and 331 transitions. [2018-12-19 21:31:35,416 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 331 transitions. [2018-12-19 21:31:35,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:35,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:35,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:35,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:35,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-19 21:31:35,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 273 transitions. [2018-12-19 21:31:35,419 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 273 transitions. Word has length 5 [2018-12-19 21:31:35,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:35,419 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 273 transitions. [2018-12-19 21:31:35,419 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:31:35,419 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 273 transitions. [2018-12-19 21:31:35,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:35,420 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:35,420 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:35,420 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:35,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:35,421 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2018-12-19 21:31:35,421 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:35,422 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:35,422 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-19 21:31:35,422 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:35,422 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:35,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:35,517 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5703#(and (= 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_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:31:35,519 INFO L273 TraceCheckUtils]: 1: Hoare triple {5703#(and (= 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_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5704#(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-19 21:31:35,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {5704#(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]; {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:35,521 INFO L273 TraceCheckUtils]: 3: Hoare triple {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:35,521 INFO L273 TraceCheckUtils]: 4: Hoare triple {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-19 21:31:35,522 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-19 21:31:35,522 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:35,522 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:35,522 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:35,522 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2018-12-19 21:31:35,525 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:35,525 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:35,549 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:35,549 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:35,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:35,550 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:35,550 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:35,550 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-19 21:31:35,558 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:35,559 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:35,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:35,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:35,571 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:35,597 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 18 treesize of output 21 [2018-12-19 21:31:35,622 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 21 treesize of output 23 [2018-12-19 21:31:35,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,645 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 23 treesize of output 33 [2018-12-19 21:31:35,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,691 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 25 treesize of output 47 [2018-12-19 21:31:35,720 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-19 21:31:35,727 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:35,749 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:35,766 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:35,781 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:35,795 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:35,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 25 [2018-12-19 21:31:35,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:35,847 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 22 treesize of output 38 [2018-12-19 21:31:36,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:36,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:36,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:36,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:36,028 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-19 21:31:36,033 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:36,044 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:36,057 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:36,081 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-19 21:31:36,082 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:44, output treesize:46 [2018-12-19 21:31:36,090 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:36,090 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, |v_#valid_26|]. (let ((.cse0 (store (store |v_#valid_26| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_116| 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) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0))) [2018-12-19 21:31:36,091 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 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-19 21:31:36,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:36,182 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-19 21:31:36,187 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:36,201 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:36,201 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:38, output treesize:20 [2018-12-19 21:31:38,274 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:38,274 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_117| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-19 21:31:38,275 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (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-19 21:31:38,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:38,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:38,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:38,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:38,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:38,340 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-19 21:31:38,345 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:38,363 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-19 21:31:38,363 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:18 [2018-12-19 21:31:38,414 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:38,414 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)))) [2018-12-19 21:31:38,414 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-19 21:31:38,454 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5709#(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)) (= 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-19 21:31:38,455 INFO L273 TraceCheckUtils]: 1: Hoare triple {5709#(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)) (= 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]; {5713#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} is VALID [2018-12-19 21:31:38,457 INFO L273 TraceCheckUtils]: 2: Hoare triple {5713#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5717#(and (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-19 21:31:38,458 INFO L273 TraceCheckUtils]: 3: Hoare triple {5717#(and (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)))} assume #memory_int[main_p1] >= 0; {5717#(and (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-19 21:31:38,459 INFO L273 TraceCheckUtils]: 4: Hoare triple {5717#(and (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)))} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-19 21:31:38,460 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-19 21:31:38,460 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:38,524 INFO L273 TraceCheckUtils]: 4: Hoare triple {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-19 21:31:38,525 INFO L273 TraceCheckUtils]: 3: Hoare triple {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:38,529 INFO L273 TraceCheckUtils]: 2: Hoare triple {5731#(<= (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]; {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:31:38,531 INFO L273 TraceCheckUtils]: 1: Hoare triple {5735#(<= (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) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5731#(<= (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-19 21:31:38,532 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {5735#(<= (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) 0)} is VALID [2018-12-19 21:31:38,533 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-19 21:31:38,553 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:38,553 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:31:38,553 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:38,553 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:38,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:38,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:31:38,570 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-19 21:31:38,571 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:31:38,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:31:38,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:31:38,571 INFO L87 Difference]: Start difference. First operand 61 states and 273 transitions. Second operand 8 states. [2018-12-19 21:31:40,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:40,308 INFO L93 Difference]: Finished difference Result 81 states and 298 transitions. [2018-12-19 21:31:40,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:31:40,308 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:31:40,308 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:40,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:40,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2018-12-19 21:31:40,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:31:40,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2018-12-19 21:31:40,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2018-12-19 21:31:40,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:40,374 INFO L225 Difference]: With dead ends: 81 [2018-12-19 21:31:40,374 INFO L226 Difference]: Without dead ends: 80 [2018-12-19 21:31:40,375 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:31:40,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2018-12-19 21:31:40,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 61. [2018-12-19 21:31:40,978 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:40,978 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 61 states. [2018-12-19 21:31:40,978 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 61 states. [2018-12-19 21:31:40,978 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 61 states. [2018-12-19 21:31:40,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:40,981 INFO L93 Difference]: Finished difference Result 80 states and 296 transitions. [2018-12-19 21:31:40,981 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 296 transitions. [2018-12-19 21:31:40,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:40,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:40,982 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 80 states. [2018-12-19 21:31:40,982 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 80 states. [2018-12-19 21:31:40,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:40,984 INFO L93 Difference]: Finished difference Result 80 states and 296 transitions. [2018-12-19 21:31:40,984 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 296 transitions. [2018-12-19 21:31:40,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:40,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:40,985 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:40,985 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:40,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-19 21:31:40,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 273 transitions. [2018-12-19 21:31:40,987 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 273 transitions. Word has length 5 [2018-12-19 21:31:40,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:40,987 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 273 transitions. [2018-12-19 21:31:40,987 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:31:40,987 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 273 transitions. [2018-12-19 21:31:40,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:40,988 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:40,988 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:40,988 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:40,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:40,989 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2018-12-19 21:31:40,989 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:40,989 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:40,989 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:40,989 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:40,990 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:40,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:41,805 WARN L181 SmtUtils]: Spent 459.00 ms on a formula simplification. DAG size of input: 36 DAG size of output: 16 [2018-12-19 21:31:41,933 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6131#(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-19 21:31:41,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {6131#(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]; {6132#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (and (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-19 21:31:41,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {6132#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (and (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6133#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 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-19 21:31:41,938 INFO L273 TraceCheckUtils]: 3: Hoare triple {6133#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 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]; {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:31:41,939 INFO L273 TraceCheckUtils]: 4: Hoare triple {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6130#false} is VALID [2018-12-19 21:31:41,939 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-19 21:31:41,939 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:41,940 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:41,940 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:41,940 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2018-12-19 21:31:41,942 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:41,942 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:41,953 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:41,953 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:41,953 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:41,954 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:41,954 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:41,954 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-19 21:31:41,964 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:41,964 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:41,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:41,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:41,973 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:42,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,016 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 31 treesize of output 40 [2018-12-19 21:31:42,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,064 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 27 treesize of output 42 [2018-12-19 21:31:42,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:31:42,125 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,137 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,148 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-19 21:31:42,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-19 21:31:42,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-19 21:31:42,210 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 25 treesize of output 51 [2018-12-19 21:31:42,231 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:31:42,234 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,255 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,272 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,286 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,298 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,324 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:42,324 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-19 21:31:42,331 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:42,331 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_121|, ULTIMATE.start_main_p5, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (store (store (store (store (store |v_#memory_int_121| 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) |#memory_int|) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4))))) [2018-12-19 21:31:42,331 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:42,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,440 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-19 21:31:42,444 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,465 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:31:42,465 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2018-12-19 21:31:42,807 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:42,808 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_122| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_122| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_122| 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_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_122| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_122| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:31:42,808 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (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)) (= (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-19 21:31:42,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:42,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31: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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-19 21:31:42,885 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:42,914 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-19 21:31:42,915 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:45, output treesize:27 [2018-12-19 21:31:42,965 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:42,965 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_123| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_123| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (= 0 .cse0))) [2018-12-19 21:31:42,965 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (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-19 21:31:43,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,037 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:43,038 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:43,038 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 76 [2018-12-19 21:31:43,043 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:43,073 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-19 21:31:43,074 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:37, output treesize:25 [2018-12-19 21:31:44,575 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:44,575 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_124| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_124| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p1)))) [2018-12-19 21:31:44,575 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-19 21:31:44,616 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6138#(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)))} is VALID [2018-12-19 21:31:44,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {6138#(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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6142#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:31:44,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {6142#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6146#(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)) (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-19 21:31:44,620 INFO L273 TraceCheckUtils]: 3: Hoare triple {6146#(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)) (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]; {6150#(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)))) (= (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-19 21:31:44,621 INFO L273 TraceCheckUtils]: 4: Hoare triple {6150#(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)))) (= (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); {6130#false} is VALID [2018-12-19 21:31:44,622 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-19 21:31:44,622 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:44,725 INFO L273 TraceCheckUtils]: 4: Hoare triple {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6130#false} is VALID [2018-12-19 21:31:44,727 INFO L273 TraceCheckUtils]: 3: Hoare triple {6157#(or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 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]; {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-19 21:31:44,729 INFO L273 TraceCheckUtils]: 2: Hoare triple {6161#(or (= (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) 0) (<= 1 (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]; {6157#(or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 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-19 21:31:44,731 INFO L273 TraceCheckUtils]: 1: Hoare triple {6165#(or (<= 1 (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)) (= (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) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6161#(or (= (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) 0) (<= 1 (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-19 21:31:44,733 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6165#(or (<= 1 (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)) (= (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) 0))} is VALID [2018-12-19 21:31:44,733 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-19 21:31:44,752 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:44,753 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-19 21:31:44,753 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:44,753 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:44,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:44,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:31:44,770 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-19 21:31:44,771 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:31:44,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:31:44,771 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=102, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:31:44,771 INFO L87 Difference]: Start difference. First operand 61 states and 273 transitions. Second operand 10 states. [2018-12-19 21:31:47,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:47,114 INFO L93 Difference]: Finished difference Result 113 states and 415 transitions. [2018-12-19 21:31:47,114 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-19 21:31:47,115 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:47,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:31:47,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:47,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-19 21:31:47,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:31:47,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-19 21:31:47,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-12-19 21:31:47,239 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:31:47,242 INFO L225 Difference]: With dead ends: 113 [2018-12-19 21:31:47,242 INFO L226 Difference]: Without dead ends: 112 [2018-12-19 21:31:47,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=84, Invalid=156, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:31:47,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-12-19 21:31:48,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 60. [2018-12-19 21:31:48,444 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:31:48,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 60 states. [2018-12-19 21:31:48,444 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 60 states. [2018-12-19 21:31:48,444 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 60 states. [2018-12-19 21:31:48,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:48,446 INFO L93 Difference]: Finished difference Result 112 states and 410 transitions. [2018-12-19 21:31:48,447 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 410 transitions. [2018-12-19 21:31:48,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:48,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:48,447 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 112 states. [2018-12-19 21:31:48,448 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 112 states. [2018-12-19 21:31:48,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:31:48,450 INFO L93 Difference]: Finished difference Result 112 states and 410 transitions. [2018-12-19 21:31:48,450 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 410 transitions. [2018-12-19 21:31:48,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:31:48,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:31:48,451 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:31:48,451 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:31:48,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-12-19 21:31:48,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 267 transitions. [2018-12-19 21:31:48,452 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 267 transitions. Word has length 5 [2018-12-19 21:31:48,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:31:48,452 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 267 transitions. [2018-12-19 21:31:48,453 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:31:48,453 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 267 transitions. [2018-12-19 21:31:48,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:31:48,453 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:31:48,453 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:31:48,453 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:31:48,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:48,453 INFO L82 PathProgramCache]: Analyzing trace with hash 29242478, now seen corresponding path program 1 times [2018-12-19 21:31:48,454 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:31:48,454 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:48,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:48,454 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:31:48,454 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:31:48,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:48,874 WARN L181 SmtUtils]: Spent 179.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 13 [2018-12-19 21:31:48,950 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6674#(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-19 21:31:48,951 INFO L273 TraceCheckUtils]: 1: Hoare triple {6674#(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]; {6675#(and (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (or (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))} is VALID [2018-12-19 21:31:48,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {6675#(and (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (or (= (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]; {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:48,954 INFO L273 TraceCheckUtils]: 3: Hoare triple {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:48,954 INFO L273 TraceCheckUtils]: 4: Hoare triple {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-19 21:31:48,955 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-19 21:31:48,955 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:48,955 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:31:48,955 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:31:48,956 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [23] [2018-12-19 21:31:48,960 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:31:48,960 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:31:48,971 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:31:48,971 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:31:48,972 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:31:48,972 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:31:48,972 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:31:48,972 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-19 21:31:48,981 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:31:48,981 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:31:48,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:48,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:31:48,989 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:31:49,112 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 18 treesize of output 21 [2018-12-19 21:31:49,124 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 21 treesize of output 27 [2018-12-19 21:31:49,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,138 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 23 treesize of output 37 [2018-12-19 21:31:49,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,158 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,161 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 25 treesize of output 51 [2018-12-19 21:31:49,190 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:31:49,197 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,221 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,242 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,256 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,270 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,299 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 31 treesize of output 40 [2018-12-19 21:31:49,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,372 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 27 treesize of output 42 [2018-12-19 21:31:49,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,440 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:31:49,446 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,457 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,469 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:31:49,507 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-19 21:31:49,507 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-19 21:31:49,516 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:49,516 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_28|]. (let ((.cse1 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (store (store (store (store (store |v_#memory_int_128| 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) |#memory_int|) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p2))))) [2018-12-19 21:31:49,516 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:31:49,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:49,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:31:49,703 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-19 21:31:49,931 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 11 dim-0 vars, and 5 xjuncts. [2018-12-19 21:31:49,932 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:199 [2018-12-19 21:31:52,732 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:52,732 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_129| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_129| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 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)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2018-12-19 21:31:52,732 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, v_prenex_48, v_prenex_47, v_prenex_46, v_prenex_45, v_prenex_44, v_prenex_43, v_prenex_41, v_prenex_42]. (let ((.cse4 (select |#memory_int| ULTIMATE.start_main_p4)) (.cse3 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse3 0)) (.cse2 (= .cse4 0)) (.cse1 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 (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) .cse1 .cse2) (and (not (= v_prenex_48 ULTIMATE.start_main_p4)) (= .cse3 1) (not (= v_prenex_48 v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_48) 0) .cse1 .cse2) (and (not (= v_prenex_46 v_prenex_45)) .cse0 (= .cse4 1) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_45)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_46) 0) .cse1) (and (not (= v_prenex_44 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| v_prenex_43)) .cse0 (not (= v_prenex_44 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_44) 0) .cse2 .cse1) (and .cse0 (not (= v_prenex_41 ULTIMATE.start_main_p1)) (not (= v_prenex_41 ULTIMATE.start_main_p4)) (= (select |#memory_int| v_prenex_42) 1) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) .cse2 .cse1)))) [2018-12-19 21:31:52,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:52,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:52,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:52,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:52,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:52,926 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 65 [2018-12-19 21:31:52,929 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,019 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:53,020 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 51 [2018-12-19 21:31:53,025 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:53,101 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 73 [2018-12-19 21:31:53,104 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:53,177 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-19 21:31:53,178 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:138, output treesize:96 [2018-12-19 21:31:55,631 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:55,631 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_50, v_prenex_49, v_prenex_41, v_prenex_42, v_prenex_52, v_prenex_51, v_prenex_48, v_prenex_47, |v_#memory_int_130|, ULTIMATE.start_main_p4, v_prenex_46, v_prenex_45]. (or (let ((.cse0 (select v_prenex_50 v_prenex_49))) (and (= 0 .cse0) (not (= v_prenex_41 ULTIMATE.start_main_p1)) (not (= v_prenex_41 v_prenex_49)) (not (= ULTIMATE.start_main_p1 v_prenex_49)) (= 1 (select v_prenex_50 v_prenex_42)) (= 0 (select v_prenex_50 v_prenex_41)) (= 0 (select v_prenex_50 ULTIMATE.start_main_p1)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_50 v_prenex_49 (+ .cse0 (- 1)))))) (let ((.cse1 (select v_prenex_52 v_prenex_51))) (and (= (select v_prenex_52 v_prenex_48) 0) (not (= v_prenex_48 v_prenex_51)) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (= 0 .cse1) (not (= v_prenex_47 v_prenex_51)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select v_prenex_52 v_prenex_47)) (= 1 (select v_prenex_52 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_52 v_prenex_51 (+ .cse1 (- 1)))))) (let ((.cse2 (select |v_#memory_int_130| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p4 (+ .cse2 (- 1)))) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| v_prenex_45)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= 1 .cse2) (not (= v_prenex_46 v_prenex_45)) (= 0 (select |v_#memory_int_130| v_prenex_46))))) [2018-12-19 21:31:55,631 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_42, v_prenex_41, v_prenex_49, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46, v_prenex_51, v_prenex_48, v_prenex_47]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 0))) (or (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_41 ULTIMATE.start_main_p1)) .cse0 (= 0 (select |#memory_int| v_prenex_41)) (= (- 1) (select |#memory_int| v_prenex_49))) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) .cse0 (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| v_prenex_51) (- 1)) (= .cse1 1) (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))))) [2018-12-19 21:31:55,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,770 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:31:55,771 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 83 [2018-12-19 21:31:55,773 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:55,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,865 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 51 [2018-12-19 21:31:55,868 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:55,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:31:55,940 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 79 [2018-12-19 21:31:55,943 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:31:56,047 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-19 21:31:56,047 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:130, output treesize:88 [2018-12-19 21:31:58,448 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:31:58,448 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_54, v_prenex_51, v_prenex_48, v_prenex_47, v_prenex_53, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46, |v_#memory_int_131|, v_prenex_41, v_prenex_49, v_prenex_42]. (or (let ((.cse0 (select v_prenex_54 ULTIMATE.start_main_p1))) (and (= .cse0 1) (= (store v_prenex_54 ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select v_prenex_54 v_prenex_51) 1)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select v_prenex_54 v_prenex_47)) (= 0 (select v_prenex_54 v_prenex_48)))) (let ((.cse1 (select v_prenex_53 ULTIMATE.start_main_p1))) (and (= 0 (select v_prenex_53 v_prenex_45)) (not (= v_prenex_45 ULTIMATE.start_main_p4)) (= (store v_prenex_53 ULTIMATE.start_main_p1 (+ .cse1 1)) |#memory_int|) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select v_prenex_53 v_prenex_46)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= .cse1 0) (not (= v_prenex_46 v_prenex_45)) (= 0 (select v_prenex_53 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (let ((.cse2 (select |v_#memory_int_131| ULTIMATE.start_main_p1))) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_131| v_prenex_49) 1) 0) (= (select |v_#memory_int_131| v_prenex_42) 1) (= (store |v_#memory_int_131| ULTIMATE.start_main_p1 (+ .cse2 1)) |#memory_int|) (= (select |v_#memory_int_131| v_prenex_41) 0) (= .cse2 0)))) [2018-12-19 21:31:58,448 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_42, v_prenex_41, v_prenex_49, v_prenex_48, v_prenex_47, v_prenex_51, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 1))) (or (and (= (select |#memory_int| v_prenex_42) 1) .cse0 (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= .cse1 2) (= (+ (select |#memory_int| v_prenex_51) 1) 0) (= 0 (select |#memory_int| v_prenex_47))) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) .cse0 (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))) [2018-12-19 21:31:58,537 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6681#(and (= 0 (select |#memory_int| 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_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-19 21:31:58,539 INFO L273 TraceCheckUtils]: 1: Hoare triple {6681#(and (= 0 (select |#memory_int| 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_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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6685#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= (select |#memory_int| v_prenex_48) 0) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (not (= v_prenex_48 ULTIMATE.start_main_p4)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_41 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_45 Int) (v_prenex_46 Int)) (and (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45))))))} is VALID [2018-12-19 21:31:58,547 INFO L273 TraceCheckUtils]: 2: Hoare triple {6685#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= (select |#memory_int| v_prenex_48) 0) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (not (= v_prenex_48 ULTIMATE.start_main_p4)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_41 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_45 Int) (v_prenex_46 Int)) (and (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45))))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6689#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)))) (exists ((v_prenex_49 Int)) (= 0 (+ (select |#memory_int| v_prenex_49) 1))) (exists ((v_prenex_42 Int)) (= (select |#memory_int| v_prenex_42) 1))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))))} is VALID [2018-12-19 21:31:58,554 INFO L273 TraceCheckUtils]: 3: Hoare triple {6689#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)))) (exists ((v_prenex_49 Int)) (= 0 (+ (select |#memory_int| v_prenex_49) 1))) (exists ((v_prenex_42 Int)) (= (select |#memory_int| v_prenex_42) 1))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (= (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]; {6693#(or (and (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_49 Int)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (= 0 (select |#memory_int| v_prenex_41)))))} is VALID [2018-12-19 21:31:58,555 INFO L273 TraceCheckUtils]: 4: Hoare triple {6693#(or (and (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_49 Int)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (= 0 (select |#memory_int| v_prenex_41)))))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-19 21:31:58,556 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-19 21:31:58,556 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:31:58,589 INFO L273 TraceCheckUtils]: 4: Hoare triple {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-19 21:31:58,590 INFO L273 TraceCheckUtils]: 3: Hoare triple {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:31:58,591 INFO L273 TraceCheckUtils]: 2: Hoare triple {6703#(<= 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]; {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:58,593 INFO L273 TraceCheckUtils]: 1: Hoare triple {6707#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6703#(<= 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-19 21:31:58,595 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {6707#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-19 21:31:58,595 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 21:31:58,614 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:31:58,614 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2018-12-19 21:31:58,614 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:31:58,614 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:31:58,614 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:31:58,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-19 21:31:58,641 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-19 21:31:58,642 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-19 21:31:58,642 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-19 21:31:58,642 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-19 21:31:58,642 INFO L87 Difference]: Start difference. First operand 60 states and 267 transitions. Second operand 10 states. [2018-12-19 21:32:00,579 WARN L181 SmtUtils]: Spent 527.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 54 [2018-12-19 21:32:03,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:03,214 INFO L93 Difference]: Finished difference Result 137 states and 516 transitions. [2018-12-19 21:32:03,214 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-12-19 21:32:03,214 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-19 21:32:03,214 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:03,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:03,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-12-19 21:32:03,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-19 21:32:03,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-12-19 21:32:03,216 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 107 transitions. [2018-12-19 21:32:03,461 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:03,464 INFO L225 Difference]: With dead ends: 137 [2018-12-19 21:32:03,464 INFO L226 Difference]: Without dead ends: 136 [2018-12-19 21:32:03,465 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2018-12-19 21:32:03,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-12-19 21:32:05,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 93. [2018-12-19 21:32:05,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:05,227 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 93 states. [2018-12-19 21:32:05,227 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 93 states. [2018-12-19 21:32:05,227 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 93 states. [2018-12-19 21:32:05,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:05,230 INFO L93 Difference]: Finished difference Result 136 states and 513 transitions. [2018-12-19 21:32:05,230 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 513 transitions. [2018-12-19 21:32:05,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:05,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:05,231 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 136 states. [2018-12-19 21:32:05,231 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 136 states. [2018-12-19 21:32:05,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:05,235 INFO L93 Difference]: Finished difference Result 136 states and 513 transitions. [2018-12-19 21:32:05,236 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 513 transitions. [2018-12-19 21:32:05,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:05,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:05,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:05,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:05,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-12-19 21:32:05,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 468 transitions. [2018-12-19 21:32:05,240 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 468 transitions. Word has length 5 [2018-12-19 21:32:05,240 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:05,240 INFO L480 AbstractCegarLoop]: Abstraction has 93 states and 468 transitions. [2018-12-19 21:32:05,240 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-19 21:32:05,240 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 468 transitions. [2018-12-19 21:32:05,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:05,241 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:05,241 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:05,241 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:05,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:05,241 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2018-12-19 21:32:05,242 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:05,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:05,242 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:05,242 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:05,243 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:05,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,386 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {7372#(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_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-19 21:32:05,387 INFO L273 TraceCheckUtils]: 1: Hoare triple {7372#(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_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7373#(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-19 21:32:05,388 INFO L273 TraceCheckUtils]: 2: Hoare triple {7373#(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]; {7373#(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-19 21:32:05,389 INFO L273 TraceCheckUtils]: 3: Hoare triple {7373#(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)))} assume #memory_int[main_p1] >= 0; {7374#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:05,390 INFO L273 TraceCheckUtils]: 4: Hoare triple {7374#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7371#false} is VALID [2018-12-19 21:32:05,390 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-19 21:32:05,391 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:05,391 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:05,391 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:05,391 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2018-12-19 21:32:05,392 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:05,392 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:05,412 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:05,412 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:32:05,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:05,413 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:05,413 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:05,413 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-19 21:32:05,421 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:05,421 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:05,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:05,431 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:05,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,505 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-19 21:32:05,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,572 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-19 21:32:05,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,646 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-19 21:32:05,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:05,741 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-19 21:32:05,749 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,769 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,789 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,810 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,840 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 18 treesize of output 21 [2018-12-19 21:32:05,857 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 21 treesize of output 27 [2018-12-19 21:32:05,877 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 23 treesize of output 37 [2018-12-19 21:32:05,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, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-19 21:32:05,931 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-19 21:32:05,940 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,970 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:05,988 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,004 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,017 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,064 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-19 21:32:06,064 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-19 21:32:06,075 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:06,075 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_135| 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) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-19 21:32:06,075 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-19 21:32:06,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:06,220 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-19 21:32:06,223 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:06,276 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-19 21:32:06,276 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-19 21:32:08,328 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:08,329 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_136|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_136| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_136| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_136| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_136| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_136| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 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_136| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-19 21:32:08,329 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-19 21:32:08,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:08,411 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:08,412 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-19 21:32:08,414 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:08,454 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-19 21:32:08,455 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2018-12-19 21:32:10,549 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:10,549 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_137| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_137| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_137| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_137| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_137| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_137| ULTIMATE.start_main_p4)))) [2018-12-19 21:32:10,549 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-19 21:32:10,619 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {7378#(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-19 21:32:10,621 INFO L273 TraceCheckUtils]: 1: Hoare triple {7378#(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]; {7382#(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-19 21:32:10,623 INFO L273 TraceCheckUtils]: 2: Hoare triple {7382#(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_p1 := #memory_int[main_p1] + 1]; {7386#(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-19 21:32:10,624 INFO L273 TraceCheckUtils]: 3: Hoare triple {7386#(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; {7386#(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-19 21:32:10,625 INFO L273 TraceCheckUtils]: 4: Hoare triple {7386#(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); {7371#false} is VALID [2018-12-19 21:32:10,626 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-19 21:32:10,626 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:10,665 INFO L273 TraceCheckUtils]: 4: Hoare triple {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7371#false} is VALID [2018-12-19 21:32:10,665 INFO L273 TraceCheckUtils]: 3: Hoare triple {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:10,667 INFO L273 TraceCheckUtils]: 2: Hoare triple {7400#(<= (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]; {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:10,668 INFO L273 TraceCheckUtils]: 1: Hoare triple {7404#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7400#(<= (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-19 21:32:10,670 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {7404#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-19 21:32:10,671 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-19 21:32:10,690 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-19 21:32:10,690 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-19 21:32:10,690 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-19 21:32:10,690 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:32:10,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:10,690 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-19 21:32:10,706 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-19 21:32:10,706 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-19 21:32:10,707 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-19 21:32:10,707 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-19 21:32:10,707 INFO L87 Difference]: Start difference. First operand 93 states and 468 transitions. Second operand 8 states. [2018-12-19 21:32:12,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:12,936 INFO L93 Difference]: Finished difference Result 120 states and 513 transitions. [2018-12-19 21:32:12,936 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-19 21:32:12,936 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-19 21:32:12,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:12,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:12,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:32:12,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-19 21:32:12,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-19 21:32:12,937 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-19 21:32:13,047 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:13,049 INFO L225 Difference]: With dead ends: 120 [2018-12-19 21:32:13,050 INFO L226 Difference]: Without dead ends: 119 [2018-12-19 21:32:13,050 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-19 21:32:13,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-12-19 21:32:15,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 96. [2018-12-19 21:32:15,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:15,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 96 states. [2018-12-19 21:32:15,044 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 96 states. [2018-12-19 21:32:15,044 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 96 states. [2018-12-19 21:32:15,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:15,047 INFO L93 Difference]: Finished difference Result 119 states and 511 transitions. [2018-12-19 21:32:15,047 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 511 transitions. [2018-12-19 21:32:15,047 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:15,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:15,048 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 119 states. [2018-12-19 21:32:15,048 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 119 states. [2018-12-19 21:32:15,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:15,051 INFO L93 Difference]: Finished difference Result 119 states and 511 transitions. [2018-12-19 21:32:15,051 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 511 transitions. [2018-12-19 21:32:15,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:15,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:15,051 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:15,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:15,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-12-19 21:32:15,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 486 transitions. [2018-12-19 21:32:15,054 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 486 transitions. Word has length 5 [2018-12-19 21:32:15,054 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:15,054 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 486 transitions. [2018-12-19 21:32:15,054 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-19 21:32:15,054 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 486 transitions. [2018-12-19 21:32:15,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:15,055 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:15,055 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:15,055 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:15,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:15,055 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2018-12-19 21:32:15,056 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:15,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:15,056 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:15,056 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:15,057 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:15,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,265 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {8022#(and (or (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))) (or (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2018-12-19 21:32:15,267 INFO L273 TraceCheckUtils]: 1: Hoare triple {8022#(and (or (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))) (or (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:15,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:15,268 INFO L273 TraceCheckUtils]: 3: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:15,269 INFO L273 TraceCheckUtils]: 4: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-19 21:32:15,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-19 21:32:15,270 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:15,270 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:15,270 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-19 21:32:15,271 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2018-12-19 21:32:15,272 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-19 21:32:15,272 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 21:32:15,285 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-19 21:32:15,286 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 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-19 21:32:15,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:15,286 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-19 21:32:15,286 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:15,286 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-19 21:32:15,295 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:15,295 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-19 21:32:15,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:15,303 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:15,332 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 18 treesize of output 21 [2018-12-19 21:32:15,343 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 21 treesize of output 23 [2018-12-19 21:32:15,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,356 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 23 treesize of output 33 [2018-12-19 21:32:15,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,377 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 25 treesize of output 47 [2018-12-19 21:32:15,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,404 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-19 21:32:15,412 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,443 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,461 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,476 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,490 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,517 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-19 21:32:15,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,555 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-19 21:32:15,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,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, 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-19 21:32:15,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:15,717 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-19 21:32:15,723 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,742 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,761 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,781 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:15,830 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-19 21:32:15,830 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-19 21:32:15,845 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:15,846 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, |v_#valid_30|]. (let ((.cse1 (store (store |v_#valid_30| ULTIMATE.start_main_p1 1) 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)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store |v_#memory_int_140| 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) |#memory_int|)))) [2018-12-19 21:32:15,846 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-19 21:32:16,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:16,146 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-19 21:32:16,155 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:16,196 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-19 21:32:16,197 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-19 21:32:16,222 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:16,223 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_141| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p1)) (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_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= .cse0 0))) [2018-12-19 21:32:16,223 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (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_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)) (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-19 21:32:16,364 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {8027#(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_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-19 21:32:16,367 INFO L273 TraceCheckUtils]: 1: Hoare triple {8027#(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_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:32:16,368 INFO L273 TraceCheckUtils]: 2: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:32:16,370 INFO L273 TraceCheckUtils]: 3: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-19 21:32:16,371 INFO L273 TraceCheckUtils]: 4: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-19 21:32:16,371 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-19 21:32:16,372 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-19 21:32:16,395 INFO L273 TraceCheckUtils]: 4: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-19 21:32:16,396 INFO L273 TraceCheckUtils]: 3: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:16,396 INFO L273 TraceCheckUtils]: 2: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:16,397 INFO L273 TraceCheckUtils]: 1: Hoare triple {8050#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:16,398 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {8050#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-19 21:32:16,399 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-19 21:32:16,420 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-19 21:32:16,420 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-19 21:32:16,420 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 21:32:16,420 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-19 21:32:16,421 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 21:32:16,421 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 21:32:16,426 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:16,426 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 21:32:16,427 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 21:32:16,427 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:32:16,427 INFO L87 Difference]: Start difference. First operand 96 states and 486 transitions. Second operand 4 states. [2018-12-19 21:32:19,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:19,571 INFO L93 Difference]: Finished difference Result 105 states and 515 transitions. [2018-12-19 21:32:19,571 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 21:32:19,571 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-19 21:32:19,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 21:32:19,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:32:19,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:32:19,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-19 21:32:19,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-19 21:32:19,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-19 21:32:19,595 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 21:32:19,597 INFO L225 Difference]: With dead ends: 105 [2018-12-19 21:32:19,598 INFO L226 Difference]: Without dead ends: 104 [2018-12-19 21:32:19,598 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-12-19 21:32:19,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2018-12-19 21:32:21,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 103. [2018-12-19 21:32:21,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 21:32:21,258 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 103 states. [2018-12-19 21:32:21,259 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 103 states. [2018-12-19 21:32:21,259 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 103 states. [2018-12-19 21:32:21,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:21,262 INFO L93 Difference]: Finished difference Result 104 states and 513 transitions. [2018-12-19 21:32:21,262 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 513 transitions. [2018-12-19 21:32:21,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:21,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:21,263 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 104 states. [2018-12-19 21:32:21,263 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 104 states. [2018-12-19 21:32:21,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 21:32:21,267 INFO L93 Difference]: Finished difference Result 104 states and 513 transitions. [2018-12-19 21:32:21,267 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 513 transitions. [2018-12-19 21:32:21,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 21:32:21,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 21:32:21,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 21:32:21,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 21:32:21,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-12-19 21:32:21,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 513 transitions. [2018-12-19 21:32:21,271 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 513 transitions. Word has length 5 [2018-12-19 21:32:21,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 21:32:21,271 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 513 transitions. [2018-12-19 21:32:21,272 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-19 21:32:21,272 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 513 transitions. [2018-12-19 21:32:21,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-19 21:32:21,272 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 21:32:21,272 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-19 21:32:21,273 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-19 21:32:21,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 21:32:21,273 INFO L82 PathProgramCache]: Analyzing trace with hash 29235162, now seen corresponding path program 3 times [2018-12-19 21:32:21,273 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 21:32:21,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:21,274 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 21:32:21,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 21:32:21,274 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 21:32:21,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:21,753 INFO L273 TraceCheckUtils]: 0: Hoare triple {8631#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_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;#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]; {8633#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (or (= 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))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:21,754 INFO L273 TraceCheckUtils]: 1: Hoare triple {8633#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (or (= 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))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8634#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-19 21:32:21,755 INFO L273 TraceCheckUtils]: 2: Hoare triple {8634#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8635#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= 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-19 21:32:21,755 INFO L273 TraceCheckUtils]: 3: Hoare triple {8635#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= 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]; {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-19 21:32:21,756 INFO L273 TraceCheckUtils]: 4: Hoare triple {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8632#false} is VALID [2018-12-19 21:32:21,757 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-19 21:32:21,757 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:21,757 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 21:32:21,757 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-19 21:32:21,758 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-19 21:32:21,758 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 21:32:21,758 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-19 21:32:21,767 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-19 21:32:21,768 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-19 21:32:21,772 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-19 21:32:21,772 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-19 21:32:21,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 21:32:21,776 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-19 21:32:21,836 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 18 treesize of output 21 [2018-12-19 21:32:21,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, 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 27 [2018-12-19 21:32:21,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,867 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 23 treesize of output 37 [2018-12-19 21:32:21,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:21,886 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 25 treesize of output 51 [2018-12-19 21:32:21,913 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-19 21:32:21,920 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:21,942 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:21,961 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:21,977 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:21,991 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:22,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,019 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 31 treesize of output 40 [2018-12-19 21:32:22,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,072 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 27 treesize of output 42 [2018-12-19 21:32:22,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-19 21:32:22,139 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:22,152 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:22,164 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-19 21:32:22,195 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-19 21:32:22,195 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-19 21:32:22,202 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:22,203 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p3, |v_#valid_31|]. (let ((.cse1 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_143| 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)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse0 ULTIMATE.start_main_p3))))) [2018-12-19 21:32:22,203 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-19 21:32:22,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:22,329 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-19 21:32:22,339 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-19 21:32:22,534 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 5 xjuncts. [2018-12-19 21:32:22,535 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:60, output treesize:199 [2018-12-19 21:32:24,575 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-19 21:32:24,575 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_144| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_144| 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 |v_#memory_int_144| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-19 21:32:24,575 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_57, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, v_prenex_56, v_prenex_55, v_prenex_58]. (let ((.cse8 (select |#memory_int| ULTIMATE.start_main_p4)) (.cse7 (select |#memory_int| ULTIMATE.start_main_p2)) (.cse6 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse6 0)) (.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4))) (.cse3 (= 0 .cse7)) (.cse5 (= .cse8 0)) (.cse4 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (or (and (not (= v_prenex_57 ULTIMATE.start_main_p4)) (not (= v_prenex_57 ULTIMATE.start_main_p2)) .cse0 .cse1 .cse2 (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) .cse3 (not (= v_prenex_57 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_57) 0) .cse4 .cse5) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= .cse6 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse2 .cse3 (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) .cse4 .cse5) (and (not (= v_prenex_56 ULTIMATE.start_main_p4)) (= 1 .cse7) .cse0 (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0) .cse5 .cse4) (and (not (= v_prenex_55 ULTIMATE.start_main_p2)) .cse0 (= .cse8 1) .cse1 .cse3 (not (= v_prenex_55 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_55) 0) .cse4) (and .cse0 .cse1 .cse2 (= (select |#memory_int| v_prenex_58) 1) .cse3 (not (= v_prenex_58 ULTIMATE.start_main_p1)) .cse5 .cse4)))) [2018-12-19 21:32:24,787 WARN L181 SmtUtils]: Spent 137.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 62 [2018-12-19 21:32:24,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:24,930 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 61 [2018-12-19 21:32:24,935 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:25,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,045 INFO L683 Elim1Store]: detected equality via solver [2018-12-19 21:32:25,046 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 51 [2018-12-19 21:32:25,051 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:25,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,156 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-19 21:32:25,162 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:25,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,267 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-19 21:32:25,269 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 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-19 21:32:25,275 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-19 21:32:25,356 INFO L267 ElimStorePlain]: Start of recursive call 1: 8 dim-0 vars, 4 dim-1 vars, End of recursive call: 8 dim-0 vars, and 4 xjuncts. [2018-12-19 21:32:25,357 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 12 variables, input treesize:181, output treesize:121 [2018-12-19 21:32:25,878 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-12-19 21:32:26,079 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 26 z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-19 21:32:26,081 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.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.EliminationTask.areDistinct(EliminationTask.java:106) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.validateEquivalence(PartialQuantifierElimination.java:381) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:294) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) 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) ... 38 more [2018-12-19 21:32:26,087 INFO L168 Benchmark]: Toolchain (without parser) took 157562.26 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.5 GB in the beginning and 1.8 GB in the end (delta: -375.0 MB). Peak memory consumption was 690.4 MB. Max. memory is 7.1 GB. [2018-12-19 21:32:26,087 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.21 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-19 21:32:26,087 INFO L168 Benchmark]: Boogie Procedure Inliner took 79.17 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-19 21:32:26,088 INFO L168 Benchmark]: Boogie Preprocessor took 39.59 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-19 21:32:26,088 INFO L168 Benchmark]: RCFGBuilder took 716.42 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-19 21:32:26,088 INFO L168 Benchmark]: TraceAbstraction took 156721.90 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 1.8 GB in the end (delta: -406.7 MB). Peak memory consumption was 658.7 MB. Max. memory is 7.1 GB. [2018-12-19 21:32:26,089 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.21 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 79.17 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 39.59 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 716.42 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 156721.90 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 1.8 GB in the end (delta: -406.7 MB). Peak memory consumption was 658.7 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...